From 1775835bd709318f47e90188c988fde24427a735 Mon Sep 17 00:00:00 2001 From: Nic Volanschi Date: Tue, 15 Apr 2025 17:31:57 +0200 Subject: [PATCH 1/5] doc: remove dir docs/quebec --- docs/quebec/accounts.rst | 91 - docs/quebec/adaptive-slashing.jpeg | Bin 329644 -> 0 bytes docs/quebec/adaptive_issuance.rst | 449 - docs/quebec/adaptive_maximum.png | Bin 63849 -> 0 bytes docs/quebec/adaptive_slashing.rst | 164 - docs/quebec/ai-min-max.jpeg | Bin 290867 -> 0 bytes docs/quebec/baking_power.rst | 502 - docs/quebec/blocks_ops.rst | 306 - docs/quebec/cli-commands.rst | 57 - docs/quebec/consensus.rst | 421 - docs/quebec/dal_support.rst | 90 - docs/quebec/event.rst | 114 - docs/quebec/global_constants.rst | 141 - docs/quebec/glossary.rst | 425 - docs/quebec/index.rst | 24 - docs/quebec/liquidity_baking.rst | 94 - docs/quebec/michelson.rst | 2525 - docs/quebec/michelson_anti_patterns.rst | 209 - docs/quebec/plugins.rst | 249 - docs/quebec/precheck.rst | 112 - docs/quebec/proof_of_stake.rst | 183 - docs/quebec/protocol.rst | 138 - docs/quebec/protocol_overview.rst | 152 - docs/quebec/randomness_generation.rst | 169 - docs/quebec/rpc.rst | 133689 -------------------- docs/quebec/sapling.rst | 533 - docs/quebec/smart_rollups.rst | 381 - docs/quebec/staked_funds_transitions.png | Bin 57402 -> 0 bytes docs/quebec/staking.rst | 200 - docs/quebec/tickets.rst | 152 - docs/quebec/timelock.rst | 61 - docs/quebec/token_management.rst | 244 - docs/quebec/validation.rst | 410 - docs/quebec/views.rst | 84 - docs/quebec/voting.rst | 355 - 35 files changed, 142724 deletions(-) delete mode 100644 docs/quebec/accounts.rst delete mode 100644 docs/quebec/adaptive-slashing.jpeg delete mode 100644 docs/quebec/adaptive_issuance.rst delete mode 100644 docs/quebec/adaptive_maximum.png delete mode 100644 docs/quebec/adaptive_slashing.rst delete mode 100644 docs/quebec/ai-min-max.jpeg delete mode 100644 docs/quebec/baking_power.rst delete mode 100644 docs/quebec/blocks_ops.rst delete mode 100644 docs/quebec/cli-commands.rst delete mode 100644 docs/quebec/consensus.rst delete mode 100644 docs/quebec/dal_support.rst delete mode 100644 docs/quebec/event.rst delete mode 100644 docs/quebec/global_constants.rst delete mode 100644 docs/quebec/glossary.rst delete mode 100644 docs/quebec/index.rst delete mode 100644 docs/quebec/liquidity_baking.rst delete mode 100644 docs/quebec/michelson.rst delete mode 100644 docs/quebec/michelson_anti_patterns.rst delete mode 100644 docs/quebec/plugins.rst delete mode 100644 docs/quebec/precheck.rst delete mode 100644 docs/quebec/proof_of_stake.rst delete mode 100644 docs/quebec/protocol.rst delete mode 100644 docs/quebec/protocol_overview.rst delete mode 100644 docs/quebec/randomness_generation.rst delete mode 100644 docs/quebec/rpc.rst delete mode 100644 docs/quebec/sapling.rst delete mode 100644 docs/quebec/smart_rollups.rst delete mode 100644 docs/quebec/staked_funds_transitions.png delete mode 100644 docs/quebec/staking.rst delete mode 100644 docs/quebec/tickets.rst delete mode 100644 docs/quebec/timelock.rst delete mode 100644 docs/quebec/token_management.rst delete mode 100644 docs/quebec/validation.rst delete mode 100644 docs/quebec/views.rst delete mode 100644 docs/quebec/voting.rst diff --git a/docs/quebec/accounts.rst b/docs/quebec/accounts.rst deleted file mode 100644 index 0fa1556c3cd7..000000000000 --- a/docs/quebec/accounts.rst +++ /dev/null @@ -1,91 +0,0 @@ -Accounts and addresses -====================== - -The Tezos ledger currently supports two types of accounts that can hold -tokens (and be the destinations of transactions), identified by distinct -addresses: - -- A user account (or implicit account) is a non-programmable account, whose tokens - are spendable and delegatable by the owner of a private key. Its address is - the hash of the public key, prefixed by ``tz1``, ``tz2``, - ``tz3`` or ``tz4``. -- A smart contract is a programmable account, associated with some Michelson code and a piece of data storage. - The address of a smart contract is a unique hash that depends on - the operation that led to its creation, called origination, prefixed by ``KT1``. - This is why smart contracts are also called originated accounts. - -Finally, addresses prefixed with ``sr1`` identify :doc:`Smart Rollups -<./smart_rollups>`. - -.. _user_accounts: -.. _user_accounts_quebec: - -User accounts -~~~~~~~~~~~~~ - -From the economic protocol's point of view, user accounts are considered as a particular case -of smart contracts that always succeed in receiving tokens or tickets, -and do nothing else. -Transferring toward a user account succeeds even if the address of the account has never appeared on the chain before. -This is why user accounts are also called implicit accounts. - -Transactions that are signed by the private key corresponding to the public key -hash, *i.e.* address of the account can spend its tokens. Each -prefix for addresses denotes a different cryptographic signing scheme. They are -briefly described below from a user point of view. - -The sizes of public keys, secret keys and signatures may differ between the -different schemes but addresses are always 20 bytes long. - -``tz1``: Ed25519 -'''''''''''''''' - -Addresses that start with the ``tz1`` prefix are hashes of Ed25519 public keys -and signatures must be produced by using the `EdDSA signature scheme -`_ with the `Curve25519 curve -`_. This is the default scheme of Octez when, *e.g.*, -generating key pairs. It is also the recommended cryptographic scheme to use -because it offers better security guarantees than EcDSA and has good performance -on most hardware. It may not be available in all wallets or on all dedicated -chips which is why Tezos supports multiple schemes. - -``tz2``: Secp256k1 -'''''''''''''''''' - -Addresses that start with the ``tz2`` prefix are hashes of Secp256k1 public keys -and signatures must be produced by using the `EcDSA signature scheme -`_ -with the `Secp256k1 curve `_. Secp256k1 is -notably the cryptographic scheme used by Bitcoin and Ethereum. This means that -private keys and addresses used on Bitcoin can also be used on Tezos. - -``tz3``: P-256 -'''''''''''''' - -Addresses that start with the ``tz3`` prefix are hashes of P-256 public keys and -signatures must be produced by using the `EcDSA signature scheme -`_ -with the `P-256 curve -`_, also known as -Secp256r1. This is one of the curves for EcDSA recommended by NIST. It is also -often the only cryptographic scheme supported by HSMs (Hardware Security -Modules) of cloud providers. - -``tz4``: BLS -'''''''''''' - -Addresses that start with the ``tz4`` prefix are hashes of BLS public keys and -signatures must be produced by using the `BLS signature scheme -`_ with -the `BLS12-381 curve `_. One -particularity of BLS signatures is that they are aggregatable. This means that -multiple signatures can be aggregated into one, and later verified as having -been produced for the correct expected public keys. This allows for numerous -applications like mutli-signatures schemes, multi-party key exchanges, -signatures compaction, etc. BLS is notably used by Zcash and Ethereum 2.0. - -Smart contracts -~~~~~~~~~~~~~~~ - -A transaction to a smart contract -address can provide data and optionally some tokens, and triggers the execution of the code, which may read and update the storage. The transaction can succeed or fail, according to the :ref:`transaction semantics `. diff --git a/docs/quebec/adaptive-slashing.jpeg b/docs/quebec/adaptive-slashing.jpeg deleted file mode 100644 index 54fec4c6c23ba516245740ab8d6ee788daefac1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329644 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

8<&#{zsYloBIC@PJ90|{NvNF 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 z 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 issues new -tez via: - -- Participation rewards: incentives given to delegates for - :doc:`participation in consensus ` - and random seed generation. -- The :doc:`Liquidity Baking (LB) subsidy `. -- Protocol "invoices": lump sums of tez issued and allocated during - protocol migration. - -Participation rewards and the LB subsidy are regularly issued by the -protocol, whereas the value and recipients of invoices are defined -discretionarily by the developers of a protocol proposal. -The values for participation rewards and -the LB subsidy, if any, are currently defined by the Tezos protocol using fixed -constants. - -Adaptive Issuance lets the amount of participation rewards depend on -the global **staked ratio** – that is, the -ratio of staked tez to the total supply. This lets issuance roughly -match the *actual* security budget the chain requires, the amount needed -to encourage participants to stake and produce blocks, but *no more*. - -At the end of each blockchain :ref:`cycle `, the -regular issuance is adjusted, to nudge the staked ratio towards a -protocol-defined target (set at 50% starting in the Paris -protocol). Participation rewards are recomputed to match that -budget. When the staked ratio decreases and diverges from the target, -emission rates increase, incentivizing participants to stake funds to -re-approach the target. Conversely, incentives decrease as the ratio -increases beyond the target. - -.. _adaptive_issuance_rate: -.. _adaptive_issuance_rate_quebec: - -Adaptive issuance rate ----------------------- - -The adaptive issuance rate determines, at the end -of cycle :math:`\IL{c}`, the issuance for cycle :math:`\IL{c + 3}`. The -adaptive issuance rate is the sum of a :ref:`static rate ` -and a :ref:`dynamic rate `. This value is kept within -a minimal and a maximal value, to ensure nominal emissions remain within -reasonable bounds. - -.. _staked_ratio: -.. _staked_ratio_quebec: - -Staked ratio -............ - -The **staked ratio** is the ratio of staked tez to the total supply. It is computed at the end of a given ``cycle``: - -.. code-block:: python - - def staked_ratio(cycle): - return total_frozen_stake(cycle + 1 + consensus_rights_delay) / total_supply(cycle) - -Where: - -- ``consensus_rights_delay`` (2) is the delay in cycles for a delegate to receive rights. -- ``total_supply(cycle)`` returns the total supply of tez at the end of the given ``cycle``. -- ``total_frozen_stake(cycle)`` returns the total frozen stake at the given ``cycle``. - -.. _static_rate: -.. _static_rate_quebec: - -Static rate -........... - -The **static rate** is a mechanism which approximates `a Dutch -auction `__ to compute a -nominal issuance rate as a function of the staked ratio for a -given cycle. Its value decreases as the staked ratio increases. -The static rate is defined as follows: - -.. code-block:: python - - def static_rate(cycle): - return 1 / 1600 * (1 / (staked_ratio(cycle) ** 2)) - -The choice of a scaling factor ensures that the curve takes reasonable values for plausible staked ratios. Moreover, since Adaptive Issuance is activated with a dynamic rate of 0, and at current staked ratio (that is, ~7.5% of the total supply), this factor allows for a smooth transition from the issuance rate (~4.6%) from the Oxford protocol (before the activation of Adaptive Issuance). - -.. _dynamic_rate: -.. _dynamic_rate_quebec: - -Dynamic rate -............ - -The **dynamic reward rate** adjusts itself over time based on the distance between the staked ratio and the 50% (±2%) target ratio, increasing when < 48% and decreasing when > 52%. The dynamic rate is defined as follows: - -.. code-block:: python - - def dynamic_rate(cycle): - seconds_per_cycle = blocks_per_cycle * minimal_block_delay - days_per_cycle = seconds_per_cycle / 86400 - previous_dynamic = dynamic_rate(cycle - 1) - staked_ratio = staked_ratio(cycle) - if staked_ratio < 0.48: - delta_d = (0.48 - staked_ratio) * growth_rate * days_per_cycle - elif staked_ratio > 0.52: - delta_d = (0.52 - staked_ratio) * growth_rate * days_per_cycle - else: - delta_d = 0 - return previous_dynamic + delta_d - -Where: - -- ``blocks_per_cycle`` denotes the number of blocks in a Tezos cycle. -- ``minimal_block_delay`` denotes the minimal duration of a block in seconds. -- ``days_per_cycle`` denotes the minimal duration in days of a Tezos cycle, assuming all blocks in the cycle are produced at the minimal allowed time – that is, every 8 seconds in Quebec. -- ``growth_rate`` controls the speed at which the dynamic rate adjusts. The value is set so that a one percentage point deviation of the staked ratio changes the dynamic rate by 0.01 percentage points per day. - -In a nutshell, ``dynamic_rate(c)`` increases and decreases by an amount proportional to the distance between the target rate and the interval ``[48%; 52%]``. Note that to ensure that the issuance rate is kept within :ref:`the minimum and maximum bounds `, the dynamic rate might be adjusted accordingly. More precisely, if :ref:`the issuance rate ` would surpass the maximum issuance allowed for a given cycle, then ``dynamic_rate(c)`` would be reduced to keep the issuance rate within the bounds (this part of the formula has been omitted from the above pseudocode for brevity). - -.. _minimum_and_maximum_rates: -.. _minimum_and_maximum_rates_quebec: - -Minimum and maximum rates -.......................... - -Starting in Paris, the minimum and maximum -issuance rates will evolve slowly over a set period of time, -so that the range of possible issuance rate values widens progressively. - -The following figure describes the progressive maximum and minimum -values of Adaptive Issuance. - - -.. figure:: ai-min-max.jpeg - - Figure 1. A gradual widening of the range ensures a smooth transition - to Adaptive Issuance. - -The schedule consists of three periods: - -- an **initial** period, set to 1 month, where the minimum and maximum - issuance rates are close to the issuance rate from the Oxford - protocol (before the activation of Adaptive Issuance) and stay - constant, -- a **transition** period, set to 5 months, where they evolve linearly, with - a decreasing minimum, and an increasing maximum, and -- a **final** period where the minimum and maximum have reached their - final values. - -Formally, the functions for the minimum and maximum values are piecewise linear functions of time, -and can be generally defined as follows: - -.. code-block:: python - - def compute_extremum(cycle, initial_value, final_value): - trans = transition_period + 1 - initial_limit = ai_activation_cycle + initial_period - trans_limit = initial_limit + trans - if cycle <= initial_limit: - return initial_value - elif cycle >= trans_limit: - return final_value - else: - t = cycle - initial_limit - res = (t * (final_value - initial_value) / trans) + initial_value - return res - -Where: - -- ``ai_activation_cycle`` is the first cycle with Adaptive Issuance - active, which was cycle 748 on mainnet. -- ``initial_period`` is a predefined period of time, set to 1 month in Paris. -- ``transition_period`` is a predefined period of time, set to 5 months in Paris. - -The issuance minimum rate for Adaptive Issuance curve is then defined as follows. - -.. code-block:: python - - def minimum_rate(cycle): - return compute_extremum(cycle, issuance_initial_min, issuance_global_min) - -Where: - -- ``issuance_initial_min`` (4.5%) is the initial minimum - value. The issuance rate is kept - above this bound for the initial period. -- ``issuance_global_min`` (0.25%) is the final value for the lower bound, reached at the end of the transition period. - - -The issuance maximum rate for Adaptive Issuance curve is then defined as follows. - -.. code-block:: python - - def maximum_rate(cycle): - return compute_extremum(cycle, issuance_initial_max, issuance_global_max) - -Where: - -- ``issuance_initial_max`` (5.5%) controls the initial maximum - value. The issuance rate is kept - below this bound for the initial period. -- ``issuance_global_max`` (10%) is the final value for the upper bound, reached at the end of the transition period. - -.. _adaptive_maximum: -.. _adaptive_maximum_quebec: - -Adaptive Maximum -................ - -In addition to the issuance bounds described above, the Quebec protocol introduces -another upper bound on the total issuance rate. This new bound, called -**adaptive maximum**, prevents the issuance rate from taking -undesirably high values when the staked ratio of the chain is already -close to the 50% target. - -The adaptive maximum is defined as a function of the staked ratio that -decreases smoothly as the staked ratio grows closer to the 50% target, -down to a 1% maximal issuance rate when the staked ratio is at 50% or -above. See the blue curve on Figure 2, as well as a few sample values -in Figure 3. The exact formula is provided further below. - -Thanks to the adaptive maximum, the total issuance rate (static rate + -dynamic rate) cannot be too far above the static rate (green dashed -curve). More precisely, the total issuance rate is forced to stay -between the static rate (green) and the adaptive maximum (blue). In -other words, the dynamic rate is effectively bounded to stay below the -red dotted curve, which plots the adaptive maximum minus the static -rate. Note that this no longer holds if the adaptive maximum gets -overridden by the minimum issuance, as discussed below. - -.. figure:: adaptive_maximum.png - - Figure 2. Adaptive maximum compared to the static rate, in the range from 5% to 50% staked ratio. - -.. list-table:: Figure 3. Adaptive maximum: a few data points. - - * - Staked ratio - - 5% and below - - 10% - - 20% - - 30% - - 40% - - 50% and above - * - Adaptive maximum issuance (approx.) - - 10% - - 9.2% - - 5.6% - - 3% - - 1.5% - - 1% - -The function that defines the adaptive maximum is: - -.. code-block:: python - - def adaptive_maximum(r): # r is the staked ratio of the chain - if r >= 0.5: - return 0.01 - elif r <= 0.05: - return 0.1 - y = (1 + 9 * ((50 - 100 * r) / 42 ) ** 2 ) / 100 - if y > 0.1: - return 0.1 - elif y < 0.01: - return 0.01 - else: - return y - -.. note:: - - Until the final value of the :ref:`minimum - rate` is reached, it is possible, - with a high enough staked ratio, for the corresponding adaptive - maximum to be smaller than the minimum rate. If this happens, then - the minimum rate takes priority, that is, the total issuance rate - (static + dynamic) is set to the minimum rate exactly. This way, the - total issuance rate is as close to the adaptive maximum as can be - while fully satisfying the minimum rate. - - -.. _issuance_rate: -.. _issuance_rate_quebec: - -Issuance rate -...................... - -Finally, as mentioned before, the nominal adaptive issuance rate [1]_ -for a cycle ``c + consensus_rights_delay + 1`` is defined as the sum -of the static rate and the dynamic rate computed for the cycle ``c``, -bounded within the :ref:`minimum and maximum rates -`, along with the :ref:`adaptive -maximum `, computed for the cycle ``c + 1``. - -.. code-block:: python - - def issuance_rate(cycle): - adjusted_cycle = cycle - consensus_rights_delay - static_rate = static_rate(adjusted_cycle - 1) - dynamic_rate = dynamic_rate(adjusted_cycle - 1) - minimum_rate = minimum_rate(adjusted_cycle) - maximum_rate = min(maximum_rate(adjusted_cycle), adaptive_maximum(stake_ratio(adjusted_cycle))) - total_rate = static_rate + dynamic_rate - return max( min(total_rate, maximum_rate), minimum_rate ) - - -.. _adaptive_rewards: -.. _adaptive_rewards_quebec: - -Adaptive rewards ----------------- - -Before Adaptive Issuance activation, -participation rewards were fixed values defined by protocol -constants. With the new mechanism, the adaptive issuance rate provides -instead a budget for the whole cycle, which gets allocated equally to -each block of the cycle and distributed between the various rewards, -in proportion to their relative :ref:`weights -`. - -.. _rewards_weights: -.. _rewards_weights_quebec: - -Reward weights -.............. - -The weights for participation rewards are defined as: - -- Attestation rewards: 10,240. -- Fixed baking reward: 5,120. -- Bonus baking reward: 5,120. -- Nonce revelation tip: 1. -- VDF tip: 1. - -The total sum ``sum_rewards_weight`` of all weights is 20482. - -.. code-block:: python - - sum_rewards_weight = ( - attestation_rewards + - fixed_baking_rewards + - bonus_baking_rewards + - nonce_revelation_tip + - vdf_tip) - -The coefficient to apply for reward computation is defined as follows. - -.. code-block:: python - - def reward_coeff(cycle): - rate = issuance_rate(cycle) - total_supply = total_supply(cycle - consensus_rights_delay - 1) - return (rate / 525600) * total_supply / base_total_issued_per_minute - -Where: - -- ``base_total_issued_per_minute`` (80007812) is the expected amount of mutez issued per minute. -- 525600 is the number of minutes per year. - -The issuance per block is then distributed amongst the different rewards in proportion to their weight. - -.. code-block:: python - - def tez_from_weights(weight): - num = weight * minimal_block_delay - den = sum_rewards_weight * 60 - return base_total_issued_per_minute * num / den - - def reward_from_constants(cycle, weight): - return tez_from_weights(weight) * reward_coeff(cycle) - - -**Consensus rewards.** Since the adoption of Tenderbake, Tezos -protocols before Paris have rewarded delegates :doc:`for their -participation in consensus ` with the following rewards per -block: - -- A fixed **baking** reward, given to the delegate which produced the - *payload* of the block (i.e. choosing transactions, and other - non-consensus operations). -- A variable, baking **bonus** reward given to the delegate which - produced the block included in the chain. This bonus is given for - including attestations, if their combined attesting power exceeds the - minimal threshold (two thirds of total slots). -- A *collective* **attestation** reward, for attesting block proposals, - distributed at the end of the cycle to the delegates selected in the - consensus committees for that cycle, proportionnaly to their expected - participation. - -We refer to :doc:`the consensus page ` for -further insight on the pre-requisites and distribution of these rewards. -Here, we derive the new functions which compute their values per block. - -.. code-block:: python - - def baking_reward_fixed_portion(cycle): - return reward_from_constants(cycle, fixed_baking_rewards) - - def baking_reward_bonus_per_slot(cycle): - bonus_committee_size = consensus_committee_size - consensus_threshold - return reward_from_constants(cycle, bonus_baking_rewards) / bonus_committee_size - - def attestation_reward_per_slot(cycle): - return reward_from_constants(cycle, attestation_rewards) / consensus_committee_size - -Where: - -- ``consensus_committee_size`` (7000) is the number of attestation slots available in a block. -- ``consensus_threshold`` (4667) is the required number of attestations for a baker to propose a block. - - -**Nonce and VDF revelation tips.** The rewards allocated to delegates -for contributing to :ref:`random seed generation ` -(that is, for revealing nonce seeds and posting VDF proofs) are not paid -each block, but rather every 192 blocks. - -.. code-block:: python - - def seed_nonce_revelation_tip(cycle): - return reward_from_constants(cycle, nonce_revelation_tip * blocks_per_commitment) - - def vdf_revelation_tip(cycle): - return reward_from_constants(cycle, vdf_tip * blocks_per_commitment) - -Where: - -- ``blocks_per_commitment`` (192) is the interval in blocks between each revelation, both VDF and nonce. - - -The `RPC endpoint -`__, -``/issuance/expected_issuance`` reports the precomputed values of all -participation rewards for the provided block and the next -``consensus_rights_delay`` cycles. - - -.. [1] - Note that if the nominal annual issuance rate is :math:`r`, the - annualized rate is close to :math:`\IL{\exp{r} - 1}` as it is - compounded at every cycle. diff --git a/docs/quebec/adaptive_maximum.png b/docs/quebec/adaptive_maximum.png deleted file mode 100644 index 764ada6b07dd2ce33eed9b21c436a12d03214779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63849 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ΞQh~cTZi9ulN1?>no^b-4lO9MQ!cx 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 diff --git a/docs/quebec/adaptive_slashing.rst b/docs/quebec/adaptive_slashing.rst deleted file mode 100644 index 2da53647e3df..000000000000 --- a/docs/quebec/adaptive_slashing.rst +++ /dev/null @@ -1,164 +0,0 @@ -================= -Adaptive Slashing -================= - - -Overview -======== - -In Oxford2, each instance of a baker's misconduct results in the -slashing of a fixed percentage of their staked funds. However, this -approach does not distinguish between innocent mistakes and deliberate -attacks. The rule conservatively punishes every misconduct with strong -penalties. The rationale for this model is its simplicity and the -observation that the cost of avoiding these mistakes is low anyway. -Nonetheless, it overlooks the impact of double signing of attestations -on the entire block committee, treating all cases uniformly and -ignoring collusion among bakers. - -To better reflect this distinction, protocols starting with Paris -adjusts the amount of slashing based on the fraction of -double-attestation in a single block. A low fraction of misconduct -incurs moderate penalties, while a high fraction of misconduct is -deemed to be critical and faces more serious repercussions. - -This document presents the definition of the :ref:`adaptive slashing -function` implementing this idea, as well as the -:ref:`new forbidden period`. - -.. _adaptive_slashing_fn: -.. _adaptive_slashing_fn_quebec: - -Adaptive Slashing Function -========================== - -.. _adaptive_slashing_informal: -.. _adaptive_slashing_informal_quebec: - -Informal presentation ---------------------- - -For a given block, we call “fraction of double-attestations” the ratio -between the total weight of attestations for which a valid -denunciation has been included and the total weight of possible -attestations in a block. - -The shape of the slashing function for double attestations is the -following: - -.. figure:: adaptive-slashing.jpeg - - -+------------------------------------------+----------------------------------------+ -| f: fraction of double attestations | S: slashing ratio | -+==========================================+========================================+ -| 1.00% | 0.09% | -+------------------------------------------+----------------------------------------+ -| 5.00% | 2.25% | -+------------------------------------------+----------------------------------------+ -| 10.00% | 9.00% | -+------------------------------------------+----------------------------------------+ -| 20.00% | 36.00% | -+------------------------------------------+----------------------------------------+ -| 23.57% | 50.00% | -+------------------------------------------+----------------------------------------+ -| 33.34% | 100.00% | -+------------------------------------------+----------------------------------------+ -| 100.00% | | -+------------------------------------------+----------------------------------------+ - -Instead of using a constant function as in Oxford2, we use -a convex function that saturates at 100% when a critical fraction of -doubled attestations are issued. Accidental double attestations are -unlikely to cause a large amount of slashing to be applied, but -concerted attacks result in severe penalties. - -\ **Remark 1.** Even though the baker does not attest to a weight -exactly equivalent to its staked funds at each block, the slashing -function is applied to bakers’ total staked funds for simplicity. - -\ **Remark 2.** As in Oxford2, slashing happens at the end of each -cycle. Since the denunciation period for a block ranges over its cycle -and the next one, a baker can be punished for misbehaving during the -previous cycle, not only the one that has just ended. - -\ **Remark 3.** If a baker wants to get back their at-stake funds, it -takes more than 2 cycles to complete the unstaking process. This -ensures that the baker can't decrease their at-stake funds after being -denunciated and before facing penalties. - -.. _formal_adaptive_slashing: -.. _formal_adaptive_slashing_quebec: - -A formal definition of slashing function for double-attestations ----------------------------------------------------------------- - -* :math:`\mathcal{W}` denotes the maximal possible *weight* of - attestations in a block, that is, the fixed number of available - :ref:`slots` in any block. It is also known as - :ref:`CONSENSUS_COMMITTEE_SIZE`. - -* :math:`f(B)` is the *fraction of double attestations* for block - :math:`B`, that is, the ratio of the total weight of double - attestations in :math:`B`, over :math:`\mathcal{W}`. - -* :math:`T` is the *threshold* for the fraction of double attestations - to be considered critical. A typical value for :math:`T` is - :math:`{1 \over 3} \mathcal{W}`, which is the difference between - :math:`\mathcal{W}` and the - :ref:`CONSENSUS_THRESHOLD` which is set to - :math:`{2 \over 3} \mathcal{W}`. - -We define :math:`S(B)` the percentage of slashed funds for all -misbehaving bakers at the block :math:`B` as follows: - -:math:`S(B) = \text{min} (100\%, {1 \over T^2} \cdot f(B)^2 \cdot 100\%)` - -Then, the percentage of slashed funds :math:`S(b,C)` for a baker -:math:`b` at the end of the cycle :math:`C` is defined as follows: - -:math:`S(b, C) = \text{min} (100\%, \sum_{(b, B) \in C} S(B))` - -where :math:`(b, B) \in C` means that: - -* the double attestation by baker :math:`b` of block :math:`B` has - been denounced before the end of cycle :math:`C`, and - -* :math:`C` is the last cycle of the denunciation period for - :math:`B`. - -.. _new_forbidden_period: -.. _new_forbidden_period_quebec: - -New definition for the forbidden period -======================================= - -Given that slashing occurs with a delay, immediate action at -denunciation time is necessary upon clear evidence of a baker's -misbehavior to prevent further misconduct, or to protect the baker -against their own faulty setup. Any double-signing denunciation -immediately triggers the beginning of a **forbidden period** that -lasts at least 2 cycles, to make sure the slashing occurs before -accepting new attestations or blocks from the baker. - -Note that it is still possible for one baker to commit multiple double -signings, but only if they all happen before any corresponding -denunciation gets included in a block. - -This forbidding is lifted as soon as both following conditions are -met: - -* all pending slashings for the delegate have occurred, and - -* the current total frozen stake for the delegate (sum of the - :ref:`staking balances` of the delegate itself - and its stakers) is at least as high as the :ref:`active - stake` that was used ``CONSENSUS_RIGHTS_DELAY`` - cycles ago to compute the consensus rights for the next cycle. - -The second condition may be fulfilled when the delegate and/or stakers -stake additional funds so that the total frozen stake grows back to -its pre-slashing value, thus matching the rights computed before the -slashing. Or it may be fulfilled ``CONSENSUS_RIGHTS_DELAY`` cycles -after the slashing, when the rights for the next cycle are finally -based on the post-slashing stake. diff --git a/docs/quebec/ai-min-max.jpeg b/docs/quebec/ai-min-max.jpeg deleted file mode 100644 index 4961986cc03fb90d1cd921b55dd0ff943c3690ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290867 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

aj!GARVhtB*z-SfHaU;k%_{LgSPZ0m>pe}t|7 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 mechanism used for the -:doc:`consensus algorithm` assigns baking and attesting -:ref:`slots`, called **baking rights**, to each -:ref:`delegate a.k.a. baker`. For this selection -process, each baker is weighted according to its **baking power** -- -provided that it is :ref:`active` and meets the -:ref:`minimal power and own staked -requirements`. - -This page details how this baking power is determined from the -:doc:`staked` and non-staked funds owned by the baker itself -and all its delegators. - -Note that the :doc:`amendment and voting process` is based on -each delegate's :ref:`voting power` instead, which -is computed in a similar but simpler way. - - -.. _RPC_path_shortcut: -.. _RPC_path_shortcut_quebec: - -.. note:: - - In this page, the prefix ``.../`` in all RPC paths is standing for - ``/chain//blocks//context/`` - - Besides, many RPCs presented here used to be known under different - names. They have been renamed in the Quebec protocol in order to - disambiguate and normalize the baking power lexicon; the old names - have been deprecated. See the - :ref:`changelog` for more information. - - -.. _baking_power_overview: -.. _baking_power_overview_quebec: - -Overview --------- - -At the end of :ref:`cycle` ``n`` (that is, the -beginning of cycle ``n + 1``), the protocol :doc:`randomly -generates` the baking rights for cycle ``n + -1 + CONSENSUS_RIGHTS_DELAY = n + 3``, using the **current baking -power** as the weight for each delegate that meets the -:ref:`requirements`. (``CONSENSUS_RIGHTS_DELAY -= 2`` is a :ref:`protocol constant`.) - -The ``.../delegates//baking_power`` RPC can be used to -retrieve the current baking power of a delegate, that is, its baking -power as of the end of the requested block ```` (see the -note above on RPC paths). Therefore, the baking power used for the -rights of cycle ``n + 3`` is the one returned by this RPC called on -the last block of cycle ``n``. - -The baking power of a delegate is defined as: - -.. code-block:: python - - baking_power = total_staked_after_limits + (total_delegated_after_limits / 3) - -This page explains the relevant concepts and provides the detailed -computations of ``total_staked_after_limits`` and -``total_delegated_after_limits``. - - -Delegate, delegators, stakers ------------------------------ - -A **delegate**, a.k.a. **baker**, is a :ref:`user -account` that has registered as a delegate by -emitting a self-``delegation`` :ref:`manager -operation`. The list of all registered -delegates is queried with the ``.../delegates`` RPC. - -A **delegator** for a given baker is an :doc:`account` that -has registered this baker as its delegate by emitting a ``delegation`` -operation. This includes the baker itself. A delegator may be a user -account or a smart contract. The list of delegators for a given -delegate is queried with the -``.../delegates//delegators`` RPC. - -A **staker** is a delegator that has :doc:`staked` tez by -emitting a :ref:`stake operation`. This -includes the delegate itself if it has staked funds. Note that stakers -are always user accounts, because smart contracts cannot emit -``stake`` operations. The list of a delegate's stakers and their -respective staked balances (see below) are queried with the -``.../delegates//stakers`` RPC. - -An **external delegator** (resp. **external staker**) is a delegator -(resp. staker) that is not the delegate itself. - - -.. _total_staked: -.. _total_staked_quebec: - -Staked tez ----------- - -Delegates and delegators have the option to :doc:`stake` -their tez. **Staked tez** contribute to the baking power, but they -also function as a security deposit for baking, meaning that they may -be :ref:`slashed` if the delegate misbehaves. That's -why they are also known as **frozen deposits**. - -The **staked balance** of an account is its amount of staked tez. It -can be queried with the ``.../contracts//staked_balance`` -RPC (in mutez). Note that if an account does not have a delegate, then -it cannot have any staked tez so its staked balance is zero. - -For a given delegate, we define the following: - -- ``own_staked`` is the staked balance of the delegate itself. It can - be queried with either RPC - ``.../contracts//staked_balance`` or - ``.../delegates//own_staked`` (in mutez). - -- ``external_staked`` is the sum of the staked balances of the - delegate's external stakers. It is queried with the - ``.../delegates//external_staked`` RPC (in mutez). - -- ``total_staked`` is the sum of the staked balances of all stakers, - including the delegate itself. It is queried with the - ``.../delegates//total_staked`` RPC (in mutez). - -All three values are of course related: - -.. code-block:: python - - total_staked = own_staked + external_staked - - -Delegated tez -------------- - -Non-staked tez owned by delegates and delegators are called -**delegated tez**. They also contribute to the delegate's baking -power, without being subject to slashing. However, delegated tez -weigh a third as much as staked tez for the purpose of computing the -baking power. - -Delegated tez of an account -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The **delegated balance** of an account is its amount of delegated -tez. It is the sum of the following balances: - -- The **spendable balance** is the amount of tez that the account can - freely access and spend at the current time. It can be queried with - RPC ``.../contracts//spendable`` (in mutez). - -- The **unstaked balance** is the sum of the tez amounts contained in - all of the account's **unstake requests** (both unfinalizable and - finalizable unstake requests). These tez have been removed from the - staked balance via an ``unstake`` operation, but have not been added - back to the spendable balance yet; see - :ref:`staked_funds_management_quebec`. Unstake requests can be - queried with RPC ``.../contracts//unstake_requests`` - (returns a detailed view with unfinalizable/finalizable status, - delegate-at-creation-time, cycle, and amount in mutez). - -- The **frozen bonds** are a deposit for :ref:`rollup - commitments`. They can be queried with RPC - ``.../contracts//frozen_bonds`` (in mutez). - -Together, the staked and delegated tez represent all the tez owned by -an account, called the **full balance**. - -.. code-block:: python - - delegated = spendable + unstaked + frozen_bonds - - full_balance = staked + delegated - - -.. _total_delegated: -.. _total_delegated_quebec: - -Delegated tez to a baker -^^^^^^^^^^^^^^^^^^^^^^^^ - -Spendable tez and frozen bonds count as delegated to the account's -current delegate. However, the tez involved in an unstake request -count as delegated to the -account's **delegate at the time of the unstake request's creation** -(which is the account's current delegate in most cases, but might be a -former delegate instead). - -To sum up: - -.. code-block:: python - - delegated = (spendable + unstaked_from_current_delegate + frozen_bonds) + unstaked_from_former_delegates - delegated = delegated_to_current_delegate + delegated_to_former_delegates - - delegated_to_current_delegate = delegated - delegated_to_former_delegates - delegated_to_current_delegate = full_balance - staked - unstaked_from_former_delegates - - - -For a given delegate, we define the following: - -- ``own_delegated`` is the amount of delegated tez owned by the baker - and counting as delegated to itself, that is, the - ``delegated_to_current_delegate`` amount of the delegate's - account. It corresponds to all non-staked tez owned by the baker - (except for any tez involved in unstake requests created at a time - when the baker was delegating to a different delegate, but it is - rare for a delegate to still have such requests). It can be queried - with RPC ``.../delegates//own_delegated`` (in mutez). - -- ``external_delegated`` is the sum of tez that count as delegated to - the baker but are not owned by the baker itself. In other words, it - is the sum of ``delegated_to_current_delegate`` over all current - external delegators, plus any tez involved in unstaked requests - created by former external delegators when they were still - delegating to the baker. It - can be queried with RPC - ``.../delegates//external_delegated`` (in mutez). - -- ``total_delegated`` is the total amount that counts as delegated to - this baker. It can be queried with RPC - ``.../delegates//total_delegated`` (in mutez). - -:: - - total_delegated = own_delegated + external_delegated - -.. _min_delegated: -.. _min_delegated_quebec: - -Min-delegated-in-current-cycle -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -When computing baking rights for cycle ``n + 3`` at the end of cycle -``n``, the ``total_delegated`` value used for each delegate is -actually the **minimum** of its ``total_delegated`` **over the whole -cycle** ``n``, called ``min_delegated_in_current_cycle``. The purpose -of this mechanism is to prevent any manipulation of baking rights -through short-duration transfers. (Note that such a mechanism is not -needed for staked tez because they are inherently :ref:`frozen for at -least four cycles`, so short-duration -staking is already not possible.) - -Starting with the Paris protocol, the considered minimum is the minimum at any -point during block applications, which can be reached in the middle of -executing a transaction. - -For example, if a baker transfers tez to one of its delegators, this -is internally treated as first removing the transferred amount from -the total amount delegated to this baker, then adding it back. In -between executing both updates, the total delegated amount is lower so -it might be the new minimum over the whole cycle. In other words, the -transferred tez risk not counting towards the baking rights that will -be computed at the end of the cycle, even though they have been owned -by an account delegating to this baker during the whole cycle. - -Besides, when the minimum is reached in the middle of a block's -operations, the context for this minimum is not directly accessible -via RPC. In that case, in order to retrieve this exact context, one -needs to replay the block's balance updates on their own. - -In the Quebec protocol, to solve these problems, only the total -delegated amounts **at the end of blocks** count when determining this -minimum. This is known as the **per-block min-delegated -feature**. This solution no longer penalizes baking rights when -funds are transferred between two accounts delegated to the same -baker. Moreover, it lets users easily retrieve via RPC the exact -context that the minimum comes from, since it is guaranteed to -correspond to the end of a block. - -The min-delegated-in-current-cycle can be retrieved with RPC ``GET -/chains//blocks//context/delegates//min_delegated_in_current_cycle``. -This RPC returns the minimal value of the baker’s ``total_delegated`` -at the end of any block, from the first block of the current cycle up -to the current level, where "current cycle" and "current level" are -those of the ```` in the RPC path; it also returns the -earliest level at the end of which this minimum has been reached in -the current cycle. This means that calling the RPC on the last block -of cycle ``n`` returns the value actually used during the generation -of baking rights for cycle ``n + 3``. - - -Example -""""""" - -At level ``150``, the baker receives ``50`` tez from a contract that -is not a delegator for this baker. Then, at level ``200``, the baker -transfers ``150`` tez to one of its delegators. Finally, at level -``205``, that delegator sends ``70`` tez to another contract that is -not a delegator for this baker. - -The first transfer of ``50`` tez increases the baker’s ``total_delegated`` -by ``50``. Then, the transfer of ``150`` tez is internally implemented -as removing ``150`` tez from the total delegated of the sender’s -delegate -- which is the baker itself, then adding ``150`` tez to the -``total_delegated`` of the destination’s delegate -- which is the same -baker in our case. Finally, the ``70``-tez transfer just removes -``70`` tez from the ``total_delegated`` of the same baker again. - -Let's say that ``blocks_per_cycle = 128``, so the -first level of the current cycle is ``129``, and let's say that -``total_delegated`` was ``1000`` at the beginning of the cycle. - -.. list-table:: - :widths: 14 16 14 14 14 14 14 - :header-rows: 1 - - * - - - - - L129: first level of cycle - - L150: add 50 - - L200: remove 150 - - L200: add 150 - - L205: remove 70 - * - - - Baker's current ``total_delegated`` (tez) - - 1000 - - 1050 - - 900 - - 1050 - - 980 - * - Quebec RPC - - Returned min (tez) - - 1000 - - 1000 - - - - 1000 - - 980 - * - Quebec RPC - - Returned level - - 129 - - 129 - - - - 129 - - 205 - * - Paris RPC - - Returned min (tez) - - 1000 - - 1000 - - - - 900 - - 900 - * - Paris RPC - - Returned level - - None - - 150 - - - - 200 - - 200 - -Note there are empty cells in the table as RPCs cannot be called in -the middle of the block application. Also, the -``min_delegated_in_current_cycle`` RPC returns the value in mutez, but -here we use tez for simplicity. - -* In Quebec: - - - At levels ``129`` and ``150``, the earliest level at the end of - which the ``total_delegated`` is equal to the minimum ``1000`` is - the first level of the cycle, that is, level ``129``. - - - At level ``200``, the ``900`` value happens in the middle of the - block application so it is not considered. The new end-of-block - value ``1050`` is not lower than the old minimum of ``1000``, so - ``min_delegated_in_current_cycle`` stays at (min: ``1000``, level: - ``129``). - - - At level ``205``, the new end-of-block value ``980`` is lower than - the old minimum of ``1000``, so ``min_delegated_in_current_cycle`` - becomes (min: ``980``, level: ``205``). - -* In Paris: - - - At level ``129``, the ``total_delegated`` has not changed since - the start of the cycle. The Paris RPC returns level ``None`` in - this case. - - - At level ``150``, the ``total_delegated`` has changed since the - start of the cycle, but the minimum is actually the initial value - it had at the start of the cycle. In this case, Paris RPC returns - the earliest level at which the ``total_delegated`` has changed, - that is, level ``150``. - - - At level ``200``, the ``total_delegated`` reaches a new minimum - ``900``. Indeed, the Paris protocol does consider the values in - the middle of the block application, so - ``min_delegated_in_current_cycle`` becomes (min: ``900``, level: - ``200``). - - - At level ``205``, the new value ``980`` is higher than the old - minimum of ``900``, so ``min_delegated_in_current_cycle`` is still - (min: ``900``, level: ``200``). - - -.. _overstaking: -.. _overstaking_quebec: - -Overstaking ------------ - -The **limit_of_staking_over_baking** is a :ref:`configurable delegate -parameter` that limits how much -staked tez the external stakers can contribute to the baking power, -relative to the baker's own staked tez. It defaults to ``0``, meaning -no staked contribution from external stakers at all. It can be set to -any non-negative value (with a one millionth precision); however, the -``GLOBAL_LIMIT_OF_STAKING_OVER_BAKING`` constant, set to ``9``, -ensures that external stakers may never contribute more than nine times -as much staked tez as the baker itself, regardless of the delegate's -own limit. -If the amount of external staked -tez exceeds this quota, the baker is said to be **overstaked**, and we -also call **overstaked** the excess of external staked tez over the -allowed maximum. Any overstaked tez will count toward the baking power as -delegated instead of staked (provided that the baker is not -overdelegated too), so they will weigh a third as much. - -.. code-block:: python - - global_limit_of_staking_over_baking = 9 - actual_limit_of_staking_over_baking = min(limit_of_staking_over_baking, global_limit_of_staking_over_baking) - max_allowed_external_staked = own_staked * actual_limit_of_staking_over_baking - external_staked_after_limits = min(external_staked, max_allowed_external_staked) - - total_staked_after_limits = own_staked + external_staked_after_limits - - overstaked = external_staked - external_staked_after_limits - -The purpose of this feature is to ensure that the baker's -``own_staked``, that is, the part of the security deposit that belongs -to the baker itself, always represents a sizable portion of its -baking power. In other words, it guarantees that the baker always has -its own skin in the game. Besides, the global limit of ``9`` ensures -that a baker can never increase its own balance by denouncing its own -double baking or double attesting misbehavior; indeed, the reward that -would be given to the author of a denunciation is guaranteed to be -lower than the amount that would be slashed from the misbehaving -baker's own funds. - -.. note:: - - The ``limit_of_staking_over_baking`` has an additional effect when - set to ``0``: it prevents external delegators from using ``stake`` - operations at all. This effect is completely removed when the limit - is positive: external delegators can stake as much tez as they wish, - even if this causes the baker to become overstaked or if the baker - is already overstaked. If the limit is set to a positive value then - back to ``0``, then external delegators are again prevented from - staking new funds, but any previously staked tez remain staked - (although they are now all considered overstaked, so they all count - as delegated when computing baking the power). - - -Overdelegation --------------- - -The amount that counts as *delegated* cannot exceed ``9`` times the -baker's ``own_staked``. Any excess tez are called **overdelegated** -and do not contribute to the baking power at all. This mechanism also -contributes to ensuring that all baking rights are covered by -appropriate security deposits. - -Recall that the delegated amount used for baking rights is -:ref:`min_delegated_in_current_cycle`, and any -:ref:`overstaked` tez count as delegated -too. Therefore: - -.. code-block:: python - - total_delegated_after_limits = min(min_delegated_in_current_cycle + overstaked, own_staked * 9) - -We finally have everything we need to compute the baking power -:ref:`as defined above`: - -.. code-block:: python - - baking_power = total_staked_after_limits + (total_delegated_after_limits / 3) - - -.. _minimal_baking_power: -.. _minimal_baking_power_quebec: - -Minimal power and own staked requirements ------------------------------------------ - -To receive baking rights, a delegate must meet the following -requirements: - -- ``baking_power >= MINIMAL_STAKE`` -- ``own_staked >= MINIMAL_FROZEN_STAKE`` -- The delegate must be :ref:`active` - -where ``MINIMAL_STAKE = 6,000ꜩ`` and ``MINIMAL_FROZEN_STAKE = 600ꜩ`` -are :ref:`protocol constants`. - -If any of these conditions is not met at the end of cycle ``n``, the delegate -still has a *baking power* as computed above, but receives no *baking -rights* at all for cycle ``n + 3``. diff --git a/docs/quebec/blocks_ops.rst b/docs/quebec/blocks_ops.rst deleted file mode 100644 index 2956bcf6b286..000000000000 --- a/docs/quebec/blocks_ops.rst +++ /dev/null @@ -1,306 +0,0 @@ -===================== -Blocks and Operations -===================== - -The content of a Tezos block is made up of a block header and a payload consisting of a list of operations. - -This page first describes the protocol-specific part of the block header, and then explains what operations are. -For the protocol-independent part of the block header, see :ref:`shell_header`. - -.. _proto_block_header: -.. _proto_block_header_quebec: - -Protocol-specific block header -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -:ref:`Recall` that, for the shell to interact with the economic protocol, two notions are defined abstractly at the level of the shell and made concrete at the level of the consensus protocol. -Namely, these two notions are the protocol-specific header and the :ref:`fitness `. - -As in Emmy*, the protocol-specific header contains the fields: - -- ``signature``: a digital signature of the shell and protocol headers (excluding the signature itself) -- ``seed_nonce_hash``: a commitment to :ref:`a random number`, used to generate entropy on the chain -- ``proof_of_work_nonce``: a nonce used to pass a low-difficulty proof-of-work for the block, as a spam prevention measure -- ``liquidity_baking_toggle_vote``: :ref:`a vote` to continue the Liquidity Baking Subsidy, stop it, or abstain. - -There are two additional fields: ``payload_hash`` and ``payload_round`` which are needed for establishing if a block is :ref:`final`. - -Operations -~~~~~~~~~~ - -Operations implement -and reify different functionalities provided by a Tezos economic -protocol: from reaching consensus on the state of the Tezos -blockchain, to performing smart contract calls and transactions. Each -Tezos economic protocol can specify different kinds of operations. - -This page only describes the operations supported by :doc:`the economic -protocol <./protocol>` that implement *enabled* features -- that is, -those available to end-users on Tezos Mainnet. The complete list of -operations, including those corresponding to features in development -or available only on test networks, is given in the -:package-api:`OCaml Documentation -`. - -.. _validation_passes: -.. _validation_passes_quebec: - -Validation Passes -~~~~~~~~~~~~~~~~~ - -The different kinds of operations are grouped into classes. Each class -has an associated index, a natural number, also known as a -:ref:`validation pass`. There are currently four classes -of operations: :ref:`consensus `, -:ref:`voting `, -:ref:`anonymous`, and :ref:`manager -operations`. This order also specifies the -:ref:`validation and application` priority -of each of these classes. Consensus operations are considered the -highest priority ones, and manager operations the lowest. - -Each kind of operation belongs to exactly one validation pass, except for the :ref:`failing_noop_quebec` which belongs to no validation pass and therefore cannot be :ref:`applied`. - -In the sequel, we describe the different classes of operations, and -the different kinds of operations belonging to each class. - -.. _consensus_operations: -.. _consensus_operations_quebec: - -Consensus Operations -~~~~~~~~~~~~~~~~~~~~ - -.. TODO tezos/tezos#4204: document PCQ/PQ - -Consensus operations are administrative operations that are necessary -to implement the :doc:`consensus algorithm`. There are two -kinds of consensus operations, each belonging to the different voting -phases required to agree on the next block. - -- A ``Preattestation`` operation implements a first vote for a - :ref:`candidate block ` with the aim of - building a :ref:`preattestation quorum `. - -- An ``Attestation`` operation implements a vote for a candidate block - for which a preattestation quorum certificate (PQC) has been - observed. - -.. _voting_operations: -.. _voting_operations_quebec: - -Voting Operations -~~~~~~~~~~~~~~~~~ - -Voting operations are operations related to the on-chain :doc:`Tezos -Amendment` process. In this economic protocol, there are two -voting operations: - -- The ``Proposal`` operation enables delegates to submit (also known as - to "inject") protocol amendment proposals, or to up-vote previously - submitted proposals, during the Proposal period. - -- The ``Ballot`` operation enables delegates to participate in the - Exploration and Promotion periods. Delegates use this operation to - vote for (``Yea``), against (``Nay``), or to side with the majority - (``Pass``), when examining a protocol amendment proposal. - -Further details on each operation's implementation and semantics are -provided in the dedicated entry for :doc:`on-chain governance`. - -.. _anonymous_operations: -.. _anonymous_operations_quebec: - -Anonymous Operations -~~~~~~~~~~~~~~~~~~~~ - -This class groups all operations that do not require a signature from -a Tezos account (with an exception, detailed below). They implement -different functionalities of the protocol, and their common -characteristic is that they allow the account originating these -operations to remain anonymous in order to avoid censorship. - -Two operations in this class implement functionality pertaining to the -protocol's :doc:`random seeds generation -mechanism`: - -- The ``Seed_nonce_revelation`` operation allows a baker to - anonymously reveal the nonce seed for the commitment it had included - in a previously baked block (in the previous cycle). - -- The ``Vdf_revelation`` operation allows the submission of a solution - to, and a proof of correctness of, the :ref:`VDF - challenge` corresponding to the VDF revelation period of - the randomness generation protocol. - -Further details on the latter operation's implementation and semantics -are provided in the :ref:`random seed generation -protocol`. - -Three operations in this class are used to :ref:`punish participants -which engage in Byzantine behaviour` -- notably -delegates which :ref:`"double sign" ` blocks, or emit -conflicting :ref:`consensus operations`: - -- The ``Double_preattestation_evidence`` operation allows for accusing - a delegate of having *double-preattested* -- i.e., of having - preattested two different block candidates, at the same level and at - the same round. The bulk of the evidence, the two arguments - provided, consists of the two offending preattestations. - -- Similarly, the ``Double_attestation_evidence`` operation allows for - accusing a delegate of having *double-attested* -- i.e., of having - attested two different block candidates at the same level and the - same round -- by providing the two offending attestations. - -- The ``Double_baking_evidence`` allows for accusing a delegate of - having "double-baked" a block -- i.e., of having signed two - different blocks at the same level and at same round. The bulk of - the evidence consists of the :ref:`block - headers` of each of the two offending blocks. - -See :ref:`here` for further detail on the semantics of -evidence-providing operations. - -The ``Activation`` operation allows users which participated in the -Tezos fundraiser to make their :ref:`accounts ` operational. - -Finally, the ``Drain_delegate`` operation allows an active -consensus-key account, i.e., an account to which a baker delegated its -consensus-signing responsibility, to **empty** its delegate -account. This operation is used as a deterrent to ensure that a -delegate secures its consensus key as much as its manager (or main) -key. - -.. _manager_operations: -.. _manager_operations_quebec: - -Manager Operations -~~~~~~~~~~~~~~~~~~ - -.. FIXME tezos/tezos#3936: integrate consensus keys operations. - -.. FIXME tezos/tezos#3937: - - Document increased paid storage manager operation. - -Manager operations enable end-users to interact with the Tezos -blockchain -- e.g., transferring funds or calling :doc:`smart -contracts`. A manager operation is issued by a single -*manager* account which signs the operation and pays the -:ref:`fees` to the baker for its inclusion in a block. Indeed, -manager operations are the only fee-paying and -:ref:`gas-consuming` operations. - -- The ``Reveal`` operation reveals the public key of the sending - manager. Knowing this public key is indeed necessary to check the signature - of future operations signed by this manager. -- The ``Transaction`` operation allows users to either transfer tez - between accounts and/or to invoke a smart contract. -- The ``Delegation`` operation allows users to :ref:`delegate their - stake ` to a :ref:`delegate` (a - *baker*), or to register themselves as delegates. -- The ``Update_consensus_key`` operation allows users to delegate the - responsibility of signing blocks and consensus-related operations to - another account. Note that consensus keys cannot be BLS public keys. -- The ``Origination`` operation is used to - :ref:`originate`, that is to deploy, smart contracts - in the Tezos blockchain. -- The ``Set_deposits_limit`` operation enables delegates to adjust the - amount of stake a delegate :ref:`has locked in - bonds`. -- Support for registering global constants is implemented with the - ``Register_global_constant`` operation. -- The ``Increase_paid_storage`` operation allows a sender to increase - the paid storage of some previously deployed contract. -- The ``Event`` operation enables sending event-like information to - external applications from Tezos smart contracts -- see - :doc:`Contract Events` for further detail. - -Moreover, all operations necessary to implement Tezos' *enshrined* -Layer 2 solutions into the economic protocol are also manager -operations. - -In particular, :doc:`smart rollups ` maintenance is -handled with dedicated manager operations. - -- The ``Smart_rollup_originate`` operation is used to originate, that - is, to deploy smart rollups in the Tezos blockchain. -- The ``Smart_rollup_add_messages`` operation is used to add messages - to the inbox shared by all the smart rollups originated in the Tezos - blockchain. These messages are interpreted by the smart rollups - according to their specific semantics. -- The ``Smart_rollup_publish`` operation is used to regularly declare - what is the new state of a given smart rollup in a so-called - “commitment”. To publish commitments, a user account has to - own at least ꜩ 10,000, which are frozen as long as at least one of - their commitments is disputable. -- The ``Smart_rollup_cement`` operation is used to cement a - commitment, if the following requirements are met: it has been - published for long enough, and there is no concurrent commitment for - the same state update. Once a commitment is cemented, it cannot be - disputed anymore. -- The ``Smart_rollup_recover_bond`` operation is used by a user - account to unfreeze their ꜩ 10,000. This operation only succeeds if - and only if all the commitments published by the user account - have been cemented. -- The ``Smart_rollup_refute`` operation is used to start or pursue a - dispute. A dispute is resolved on the Tezos blockchain through a - so-called refutation game, where two players seek to prove the - correctness of their respective commitment. The game consists in a - dissection phase, where the two players narrow down their - disagreement to a single execution step, and a resolution, where the - players provide a proof sustaining their claims. The looser of a - dispute looses their frozen bond: half of it is burned, and the - winner receives the other half in compensation. -- The ``Smart_rollup_timeout`` operation is used to put an end to a - dispute if one of the two players takes too much time to send their - next move (with a ``Smart_rollup_refute`` operation). It is not - necessary to be one of the players to send this operation. -- The ``Smart_rollup_execute_outbox_message`` operation is used to - enact a transaction from a smart rollup to a smart contract, as - authorized by a cemented commitment. The targeted smart contract can - determine if it is called by a smart rollup using the ``SENDER`` - Michelson instruction. - -.. _manager_operations_batches: -.. _manager_operations_batches_quebec: - -Manager Operation Batches -""""""""""""""""""""""""" - -Manager operations can be grouped, forming a so-called -**batch**. Batches enable the inclusion of several manager operations -from the same manager in a single block. - -Batches satisfy the following properties: - -- All operations in a batch are issued by the same manager, which - provides a single signature for the entire batch. -- A batch is :ref:`applied` - atomically: all its operations are executed sequentially, without - interleaving other operations. Either all the operations in the - batch succeed, or none is applied. - -.. _failing_noop: -.. _failing_noop_quebec: - -Failing_noop operation -~~~~~~~~~~~~~~~~~~~~~~ - -The ``Failing_noop`` operation is not executable in the protocol: - -- it can only be validated in :ref:`mempool mode `, by the :doc:`prevalidator component <../shell/prevalidation>`; -- consequently, this operation cannot be :ref:`applied `, and in fact will never be included into a block. - -Rather, the ``Failing_noop`` operation allows -to sign an arbitrary string, without introducing an operation that could be misinterpreted in the protocol. - -The Octez client provides commands to sign and verify the signature of input messages by a given key. These commands create a ``failing_noop`` -operation from the message that is being signed or checked. - -:: - - octez-client sign message "hello world" for - - octez-client check that message "hello world" was signed by to - produce diff --git a/docs/quebec/cli-commands.rst b/docs/quebec/cli-commands.rst deleted file mode 100644 index afd243f9adea..000000000000 --- a/docs/quebec/cli-commands.rst +++ /dev/null @@ -1,57 +0,0 @@ -********************** -Command Line Interface -********************** - -This document is a prettier output of the documentation produced by -the command ``man`` of the different Octez binaries. You can obtain similar pages -using shell commands such as (:ref:`indicating the appropriate protocol `): - -:: - - octez-client -protocol man -verbosity 3 - -.. note:: - - The rest of this page documents the protocol-dependent tools, that is, those whose behavior or features may be specific to each protocol. - The protocol-independent tools are documented :doc:`here <../shell/cli-commands>`. - - -.. _client_manual: -.. _client_manual_quebec: - -Client manual -============= - -This is the manual page of the command line tool ``octez-client``. See :ref:`howtouse_tezos_client` for a general description of this tool. - -.. raw:: html - :file: octez-client.html - - -.. _baker_manual: -.. _baker_manual_quebec: - -Baker manual -============ - -This is the manual page of the baker command line tool. See :ref:`baker_run` for a general description of this tool. - -.. raw:: html - :file: octez-baker.html - - -.. _accuser_manual: -.. _accuser_manual_quebec: - -Accuser manual -============== - -This is the manual page of the accuser command line tool. See :ref:`accuser_run` for a general description of this tool. - -.. raw:: html - :file: octez-accuser.html - -Protocol-independent tools -========================== - -For manuals of the tools that do not vary with each protocol, see :doc:`here <../shell/cli-commands>`. \ No newline at end of file diff --git a/docs/quebec/consensus.rst b/docs/quebec/consensus.rst deleted file mode 100644 index 44b8d403436b..000000000000 --- a/docs/quebec/consensus.rst +++ /dev/null @@ -1,421 +0,0 @@ -The consensus algorithm -======================= - -This document provides a high-level description of Tenderbake, the Tezos -:doc:`proof-of-stake` consensus algorithm. - -History -------- - -Before Tenderbake, there was -`Emmy* `_, -a Nakamoto-style consensus consisting of a series of improvements of the one in -the `Tezos whitepaper `_. - -Emmy*, like any Nakamoto-style consensus algorithm (such as `Bitcoin -`_ or `Ouroboros -`_), offers *probabilistic* -finality: forks of arbitrary length are possible but they collapse -with a probability that increases rapidly with fork length. - -`Tenderbake `_ instead, like any classic -BFT-style consensus algorithm (such as -`PBFT `_ or -`Tendermint `_), offers *deterministic* -finality: a block that has just been appended to the chain of some node is known -to be final once it has two additional blocks on top of it, regardless of -network latency. - - -Overview --------- - -The starting point for Tenderbake is -`Tendermint `_, the first classic-style algorithm -for blockchains. - -Tenderbake adapts Tendermint to the Tezos blockchain, but the adjustments -required are -`substantive `_: - -* Tenderbake is tailored to match the Tezos architecture by using only - communication primitives and network assumptions which Tezos supports. -* Tenderbake makes weaker network assumptions than Tendermint, at the price of - adding the extra assumption that participants have loosely synchronized clocks - — which is fine, because Tezos already uses them. - -The design of Tenderbake and its rationale are described at -length in the `technical report `_ and in a -`Nomadic Labs's blog -post `_. Here we -only provide a user/developer perspective. - -.. _tb_validator: -.. _tb_validator_quebec: - -Tenderbake is executed for each new block level by a "committee" whose members -are called *validators*, which are delegates selected at random based on their -stake, in the same way as endorsers were selected in Emmy*. We let -``CONSENSUS_COMMITTEE_SIZE`` be the number of validator :ref:`slots` per level. -Furthermore, we use ``CONSENSUS_THRESHOLD`` to denote two thirds of ``CONSENSUS_COMMITTEE_SIZE``. - -For each level, Tenderbake proceeds in rounds. Each *round* represents an -attempt by the validators to agree on the content of the block for the current -level, that is, on the sequence of non-consensus operations the block contains. -We call this sequence the block's *payload*. - -Each round has an associated duration. Round durations are set to increase so -that for any possible message delay, there is a round that is sufficiently long -for all required messages to be exchanged. -Round durations depend on protocol parameters ``MINIMAL_BLOCK_DELAY`` and ``DELAY_INCREMENT_PER_ROUND``. -These parameters specify round durations as follows: - -.. math:: - - round\_duration(0) &= minimal\_block\_delay \\ - round\_duration(r+1) &= round\_duration(r) + delay\_increment\_per\_round \\ - & = minimal\_block\_delay + (r + 1) * delay\_increment\_per\_round - -Round durations thus increase linearly with ``DELAY_INCREMENT_PER_ROUND``. - -Schematically, a round consists in the following steps: - -.. _candidate_block: -.. _candidate_block_quebec: - -* a validator designated for that round injects a *candidate block* (representing a proposal) and consensus operations (representing votes) into the node to which it is attached, which then -* diffuses those blocks and consensus operations to other nodes of the network, and thus -* communicates them to the validators attached to those nodes, to carry out voting on which block to accept. - -.. _quorum: -.. _quorum_quebec: - -Unlike Emmy*, Tenderbake has `two types of -votes `_: -before attesting a block ``b``, a validator preattests ``b``. Furthermore, -to be able to attest, a validator must have observed a preattestation *quorum*, that is a -set of preattestations from validators having at least ``CONSENSUS_THRESHOLD`` validator slots. Similarly, to be able to decide, a validator must have observed an attestation quorum, that is, a set of attestations from validators having at least ``CONSENSUS_THRESHOLD`` validator slots. The -attestation quorum for a block ``b`` is included in a block ``b'`` on top of ``b``, -serving as a certification that ``b`` has been agreed upon. -We also say that block ``b'`` confirms block ``b``. - -The validator's whose turn is to inject a candidate block at a given round is -called the *proposer* at that round. Proposers in Tenderbake are selected -similarly to bakers in Emmy*: the proposer at round ``r`` is the -validator who has the validator slot ``r``. A proposer who has observed a -preattestation quorum for a candidate block in a previous round, is required to propose a block with -the same *payload* as -the initial block. We talk about a *re-proposal* in this case. - - -.. _finality: -.. _finality_quebec: - -Transaction and block finality ------------------------------- - -A transaction is final as soon as the block including it has a confirmation (that is, a block on top of it). -Indeed, as hinted above, a block contains the certification (that is, the attestation quorum) for the previous -payload. Thanks to the attestation quorum, Tenderbake guarantees **transaction finality -after 1 confirmation**. - -It may be possible that different validators decide at different rounds, though on the same payload. The blocks at these different rounds differ precisely because they contain, in the header, as part of the block fitness, -the round at which they were proposed. -Among these "candidate" blocks, the block with the smallest round has the highest fitness and so it will be the one decided. -Consequently, to agree on a block, that is, on both the payload and the header, Tenderbake needs one more -confirmation, and thus guarantees -**block finality after 2 confirmations**. - -.. _time_between_blocks: -.. _time_between_blocks_quebec: - -Time between blocks -------------------- - -The time between blocks represents the difference between the timestamps of the blocks. The timestamp of a block is given by the beginning of the round at which the block has been agreed upon. Thus, the time between blocks depends on the round at which decisions are taken. For -example, if the decision at the previous level was taken at round 4 and at the current level at round 2, then the current block's delay relative to -its predecessor, is :math:`round\_duration(4) + round\_duration(0) + round\_duration(1)`. -The general case is as follows, say that the decision at the previous -level is taken at round ``m`` and the decision at the current level is -taken at round ``n``, then the current block's delay relative to its -predecessor is :math:`round\_duration(m) + \sum_{i=0}^{n-1} round\_duration(i)`. -We note that, under -normal network conditions, and with active and compliant validators, decisions -should be taken at round 0, meaning that the time between blocks would be -:math:`round\_duration(0)` seconds i.e., parameter ``MINIMAL_BLOCK_DELAY``. - - -.. _active_stake: -.. _active_stake_quebec: - -Validator selection -------------------- - -Validator selection, that is, baking and attesting rights, are based -on the :doc:`baking power` of a delegate. The baking -power is a function of all tez owned by the delegate and its -delegators, with :doc:`staked` tez weighted more than -non-staked tez, and there are additional considerations such as -overstaking and overdelegation; see the :ref:`baking power -formula`. - -The baking rights are determined -:ref:`CONSENSUS_RIGHTS_DELAY` in advance, which is -``2`` :ref:`cycles` for the Quebec protocol. More -precisely, at the end of cycle ``n`` and beginning of cycle ``n+1``, -the baking rights for cycle ``n+1+CONSENSUS_RIGHTS_DELAY=n+3`` are -:doc:`randomly generated` based on the current -:doc:`baking power` of each delegate that meets the -:ref:`minimal power and own staked -requirements`. - - -Economic Incentives -------------------- - -As Emmy*, Tenderbake rewards participation in consensus and punishes bad -behavior. Notable changes however are as follows: - -* Fees and baking rewards go to the payload producer, the one who selected the - transactions to be included in the block (and was the first to propose a - block with that payload). In case of re-proposal, the payload producer might - be different from the block proposer, the baker who injects the block. -* Including extra attestations, that is, more than the minimal required to - obtain a quorum, is rewarded with a bonus. -* Attesting rewards are shared equally among all validators. Participation above - a minimal threshold per cycle is however required. -* Validators are rewarded instantaneously for baking blocks and including extra attestations, and not at the end of the cycle like in Emmy*. -* At the end of a cycle ``c``, the following actions happen: - - - the distribution of attesting rewards, - - the selection of the consensus committee cycle ``c + CONSENSUS_RIGHTS_DELAY``, based on the current active stake distribution. - - -Fees -^^^^ - -The fees associated to the transactions included in a block go to the payload -producer. This is only natural given that this is the validator that selects the -transactions to be included; see `an in-depth blog -post `_ for further motivation. - -The payload producer is usually the same delegate as the block -proposer (that is, the one that signs and injects the block): that's -always true for blocks at round 0; however, in case of re-proposals -this is not necessarily the case (see the algorithm description above). - -Fees are given to the payload producer immediately, that is, they are -already reflected in the blockchain state obtained after applying the injected -block. - -Rewards -^^^^^^^ - -There are three kinds of rewards: baking rewards, attesting rewards, and a bonus for including extra attestations. - -The baking rewards are treated in the same way as fees: they go to the *payload* -producer and are distributed immediately. - -To encourage fairness and participation, the *block* proposer receives -a bonus for the extra attestations it includes in the block. -The bonus is proportional to the number of -validator slots above the threshold of ``CONSENSUS_COMMITTEE_SIZE * 2 / 3`` that -the included attestations represent. The bonus is also distributed -immediately. - -The attesting rewards are distributed at the end of the cycle. -The attesting reward may be received even if not all of the validator's attestations are included in a block and is proportional to the validator's active stake (in other words, to its *expected* number of validator slots, and not its actual number of slots). -However, two conditions must be met: - -- the validator has revealed its nonce, and -- the validator has been present during the cycle. - -Not giving rewards in case of missing revelations is not new as it is :ref:`adapted` -from Emmy*. -The second condition is new. We say that a delegate is *present* during a cycle -if the attesting power (that is, the number of validator slots at the -corresponding level) of all the attestations included by the delegate during the -cycle represents at least ``MINIMAL_PARTICIPATION_RATIO`` of the delegate's expected number of -validator slots for the current cycle (which is ``BLOCKS_PER_CYCLE * -CONSENSUS_COMMITTEE_SIZE * active_stake / total_active_stake``). - -Regarding the concrete values for rewards, before Adaptive Issuance, we first fix the total reward per -level, call it ``total_rewards``, to ``80 / blocks_per_minute`` tez. -Assuming ``blocks_per_minute = 7.5``, ``total_rewards`` is 10.67 tez. With Adaptive Issuance, this value changes dynamically over time but for the sake of example, we will assume that the reward value stays the same as above. -We define: - -- ``BAKING_REWARD_FIXED_PORTION := baking_reward_ratio * total_rewards`` -- ``bonus := (1 - baking_reward_ratio) * bonus_ratio * total_rewards`` is the max bonus -- ``attesting_reward := (1 - baking_reward_ratio) * (1 - bonus_ratio) * total_rewards`` - -where: - -- ``baking_reward_ratio`` to ``1 / 4``, -- ``bonus_ratio`` to ``1 / 3``. - -Thus, we obtain ``BAKING_REWARD_FIXED_PORTION = 2.67`` tez, -(maximum) ``bonus = 2.67`` tez, and ``attesting_reward = 5.33`` tez. -The bonus per additional attestation slot is in turn ``bonus / -(CONSENSUS_COMMITTEE_SIZE / 3)`` (because there are at most -``CONSENSUS_COMMITTEE_SIZE / 3`` validator slots corresponding to the -additional attestations included in a block). The rewards per -attestation slot are ``attesting_reward / CONSENSUS_COMMITTEE_SIZE``. -Assuming ``CONSENSUS_COMMITTEE_SIZE = 7000``, we obtain a bonus per slot of -``2.67 / (7000 / 3) = 0.001143`` tez and an attesting -rewards per slot of ``5.33 / 7000 = 0.000761`` tez. - -Let's take an example. Say a block has round 1, is proposed by -delegate B, and contains the payload from round 0 produced by delegate -A. Also, B includes attestations with attesting power ``5251``. Then A receives -the fees and 10 tez (the ``BAKING_REWARD_FIXED_PORTION``) as a reward for -producing the block's payload. Concerning the bonus, given that -``CONSENSUS_COMMITTEE_SIZE = 7000``, the minimum required validator slots is ``4667``, and there are ``2333 = 7000 - 4667`` additional validator slots. -Therefore B receives the bonus ``(5251 - 4667) * 0.001143 = 0.667512`` tez. (Note -that B only included attestations corresponding to ``584 = 5251 - 4667`` additional validator slots, about a quarter of the -maximum ``2333`` extra attestations it could have theoretically included.) Finally, consider some -delegate C, whose active stake at some cycle is 1% of the total stake. Note that -his expected number of validator slots for that cycle is -``1/100 * BLOCKS_PER_CYCLE * CONSENSUS_COMMITTEE_SIZE = 1/100 * 30720 * 7000 = 2,150,400`` -slots. Assume also that the attesting power of C's attestations -included during that cycle has been ``1,987,456`` slots. Given that this number is -bigger than the minimum required (``2,150,400 * 2 / 3``), it receives an attesting -reward of ``2,150,400 * 0.000761 = 1636.4544`` tez for that cycle. - -.. _slashing: -.. _slashing_quebec: - -Slashing -^^^^^^^^ - -Like in Emmy*, not revealing nonces and double signing are punishable. If a -validator does not reveal its nonce by the end of the cycle, it does not receive -its attesting rewards. If a validator double signs, that is, it double bakes -(which means signing different blocks at the same level and same round) or it -double (pre)attests (which means voting on two different proposals at the same -level and round), a part of the frozen deposit is slashed. The slashed amount -for double baking is a fixed percentage of the frozen deposit -``PERCENTAGE_OF_FROZEN_DEPOSITS_SLASHED_PER_DOUBLE_BAKING``. For -double (pre)attestations, the formula is more complex, as it depends -on the number of attestation slots that participated in the -misbehavior; see :doc:`adaptive_slashing` for more details. -The payload producer that includes the misbehavior evidence is -rewarded ``1 / (GLOBAL_LIMIT_OF_STAKING_OVER_BAKING + 2)`` of the -slashed amount; the rest of the slashed amount is burned. - -If a delegate's deposit is smaller than the slashed amount, the deposit is -simply emptied. - -The evidence for double signing at a given level can be collected by any -:ref:`accuser` and included as an *accusation* operation in a block -for a period of ``MAX_SLASHING_PERIOD``. - -As soon as a delegate is denounced for any double signing, it is -immediately :ref:`forbidden` from both baking -and attesting for at least 2 cycles. - -The actual slashing and denunciation rewarding happen at the end of -the last cycle of the slashing period of the misbehavior. - -Note that selfish baking is not an issue in Tenderbake: say we are at round -``r`` and the validator which is proposer at round ``r+1`` does not (pre)attest -at round ``r`` in the hope that the block at round ``r`` is not agreed upon and -its turn comes to propose at round ``r+1``. Under the assumption that the -correct validators have more than two thirds of the total stake, these correct -validators have sufficient power for agreement to be reached, thus the lack of -participation of a selfish baker does not have an impact. - -.. _fitness_section: -.. _fitness_section_quebec: - -Fitness -------- - -The fitness is given by the tuple ``(version, level, locked_round, - predecessor_round - 1, round)``. -The current version of the fitness is 2 (version 0 was used by Emmy, and version 1 by Emmy+ and Emmy*). -The fitness encapsulates more information than in Emmy* because Tenderbake is more complex: recall that blocks at the last level only represent :ref:`candidate blocks`. -In Emmy*, only the level mattered. -But in Tenderbake, we need to, for instance, allow for new blocks at the same level to be accepted by nodes. -Therefore the fitness also includes the block's round (as the fifth component). -Furthermore, we also allow to change the predecessor block when it has a :ref:`smaller round`. -Therefore the fitness also includes the opposite of predecessor block's round as the forth component (the predecessor is taken for technical reasons). -Finally, to (partially) enforce :ref:`the rule on -re-proposals`, the fitness also includes, as the third -component, the round at which a preattestation quorum was observed by -the baker, if any (this component can therefore be empty). By the way, -preattestations are present in a block if and only if the locked round -component is non-empty and if so, the locked round has to match the -round of the included preattestations. - -Next, we provide two examples of fitness values: -``02::00001000::::ffffffff::00000000`` and -``02::00001000::00000000::fffffffe::00000001`` (in the hexadecimal -format that one may observe in the node's logs). These two values have -the following components: - -- the 1st component, ``02``, is the fitness version; -- the 2nd component, ``00001000``, is the block's level (level 4096); -- the 3rd component is the block's locked round: empty in the first case, 0 in the second; -- the 4th component is the round of the predecessor block, here 0 in the first case and 1 in the second case; -- the 5th component is the block's round: 0 in the first case, 1 in the second case. - -We recall (see :ref:`shell_header`) that the fitness is, from the -shell's perspective, a sequence of sequences of unsigned bytes and -comparison is done first by the length of the sequence and then -lexicographically (both for the outer sequence, and for each of the -inner sequences). So the first fitness is smaller than the second one, -because of the third component, the empty bitstring being smaller than -any other bitstring. - -.. _cs_constants: -.. _cs_constants_quebec: - -Consensus related protocol parameters -------------------------------------- - -.. list-table:: - :widths: 55 25 - :header-rows: 1 - - * - Parameter name - - Parameter value - * - ``CONSENSUS_COMMITTEE_SIZE`` - - 7000 - * - ``CONSENSUS_THRESHOLD`` - - ``ceil(2 * CONSENSUS_COMMITTEE_SIZE / 3)`` = 4667 - * - ``MINIMAL_BLOCK_DELAY`` - - 8s - * - ``BLOCKS_PER_CYCLE`` - - 30720 - * - ``DELAY_INCREMENT_PER_ROUND`` - - 4s - * - ``CONSENSUS_RIGHTS_DELAY`` - - 2 cycles - * - ``GLOBAL_LIMIT_OF_STAKING_OVER_BAKING`` - - 9 - * - ``LIMIT_OF_DELEGATION_OVER_BAKING`` - - 9 - * - ``MINIMAL_STAKE`` - - 6,000 ꜩ - * - ``MINIMAL_FROZEN_STAKE`` - - 600 ꜩ - * - ``MINIMAL_PARTICIPATION_RATIO`` - - 2/3 - * - ``MAX_SLASHING_PERIOD`` - - 2 cycles - * - ``PERCENTAGE_OF_FROZEN_DEPOSITS_SLASHED_PER_DOUBLE_BAKING`` - - 5% - * - ``BAKING_REWARD_FIXED_PORTION`` - - 2.67 tez - * - ``BAKING_REWARD_BONUS_PER_SLOT`` - - ``bonus / (CONSENSUS_COMMITTEE_SIZE / 3)`` = 0.001143 tez - * - ``ATTESTING_REWARD_PER_SLOT`` - - ``attesting_reward / CONSENSUS_COMMITTEE_SIZE`` = 0.000761 tez - -The above list of protocol parameters is a subset of the :ref:`protocol constants `. - -Further External Resources --------------------------- - -* Tenderbake `report `_ -* Tenderbake `blog post `_. -* Tenderbake `tzip `_. diff --git a/docs/quebec/dal_support.rst b/docs/quebec/dal_support.rst deleted file mode 100644 index ea5ced346e13..000000000000 --- a/docs/quebec/dal_support.rst +++ /dev/null @@ -1,90 +0,0 @@ -=============== -DAL integration -=============== - -The :doc:`DAL <../shell/dal>`'s integration within the economic protocol relies on two operations: - -#. ``DAL_publish_commitment``: a manager operation, allowing anyone to publish a DAL commitment -#. ``attestation``: the existing :ref:`consensus operation `, allowing bakers to attach a DAL payload attesting the data seen on the DAL P2P network - -DAL publish commitment -====================== - -``DAL_publish_commitment`` is a manager operation that can be issued by a user wishing to publish data onto the DAL. The payload of this operation consists in the following fields: - -- Slot index: Identifies the specific slot for which the data is being published. It is an integer between ``0`` and ``number_of_slots - 1``. -- Commitment: The `KZG commitment `__ over the data. -- Commitment proof: A proof that the commitment commits over data that does not exceed the size ``slot_size``. - -Users can create and manage these commitments and proofs through the :doc:`DAL node <../shell/dal_node>` using these RPCs: - -- To create a commitment: ``POST /commitment`` -- To retrieve a commitment’s proof: ``GET /commitments//proof`` - -Concurrent operations ---------------------- - -If a block contains a valid ``DAL_publish_commitment`` operation, any subsequent operations of the same kind within the same block (and the same slot index) will be recognized as valid but will fail during execution. They still incur transaction fees. More details about this can be found in the :doc:`validator documentation <../active/validation>`. - -Economics ---------- - -Currently, the fees are estimated based on the execution cost of this operation alone. There are no additional charges related to the bandwidth required for bakers to download data from the DAL for this commitment. However, this might be subject to changes in the future. - -DAL attestation payloads -======================== - -The attestation operation includes an optional field ``dal_content``. This field -allows attesters participating to the DAL to announce whether they were able to -successfully download the shards assigned to them. Concretely, this field is a -bitset reflecting the status of each slot. The size of the bitset corresponds to -the total number of slots. A value of 1 indicates successful retrieval of all -assigned shards by the baker for that slot, while 0 indicates an unsuccessful -attempt. The least significant bit corresponds to the smallest slot index. - -Attestation timing ------------------- - -When a commitment is published at a certain level, say level ``PL``, the corresponding DAL payloads are expected to be included in the attestations contained in the block at level ``PL + attestation_lag``. - -Block metadata --------------- - -In the block’s metadata, there is a specific field for the DAL, called ``"dal_attestation"``. This field reflects the availability of slots based on the DAL payloads received. It is a bitfield with one bit per slot (its format is the same as the attestation payload of the ``attestation`` operation). The bit is set to 1 if the slot is declared available. The smallest slot index corresponds to the least significant bit. To consider a slot as available, there must be a minimum number of shards, as defined by the ``availability_threshold`` parameter, marked as available by the attesters for that slot (e.g. if the number of shards is 2048 and the availability threshold is 50%, then 1024 shards are required). - -Therefore, for data committed (published) at level ``L``, the slot's availability is determined by the metadata of the block at level ``L + attestation_lag``. Consequently, a smart rollup can only utilize this data from level ``L + attestation_lag + 1`` onward. - -.. _dal_rollups_integration: -.. _dal_rollups_integration_quebec: - -Smart rollups integration -========================= - -The DAL is integrated with :doc:`smart rollups <../active/smart_rollups>` so that kernels can request pages from the DAL via the :ref:`reveal data channel `. A smart rollup can fetch any page from the DAL node if the commitment respects some conditions: - -- The commitment should have been published after the rollup origination (this constraint will be leveraged so that the kernel can request any commitment in the past) -- The commitment should not have been published in a level in the future after the level of the next commitment of the state (at most 30 levels in the future). - This constraint might be leveraged thanks to the internal messages ``Start of Level`` and ``End of Level`` (abbreviated as SOL and EOL), which allow the kernel to track the L1 level, so that the kernel cannot request a page for a commitment published after the current L1 level. - -If the kernel requests a page that does not satisfy the mentioned conditions, then the rollup node must answer with an empty page indicating there is no data. Similarly, if the kernel requests for a commitment that was not attested, the rollup node must also provide an empty page. As a consequence, if a kernel requests a page for a commitment for which its availability is still unknown, the rollup node cannot answer and will have to wait for the availability status to be confirmed by the L1. - -Moreover, the rollup kernel has access to the protocol constants so that the same kernel code can be used on different test networks. - -.. _dal_constants: -.. _dal_constants_quebec: - -DAL-related protocol constants -============================== - -This section describes the protocol constants specific to the DAL as well as their default values on mainnet (see :ref:`protocol_constants_quebec` on how to find the values for tests networks): - -- ``feature_enable`` (true): Whether the DAL is available -- ``incentives_enable`` (false): Whether baker incentives are available -- ``number_of_slots`` (32): How many slots are available per block -- ``attestation_lag`` (8): The timeframe for bakers to download shards between the published level of a commitment and the time they must attest the availability of those shards -- ``attestation_threshold`` (66): The percentage of shards attested for a given slot to declare the slot available -- ``blocks_per_epoch`` (1): Unused. Could be removed in the future -- ``page_size`` (3967B, ~4KiB): The size of a page (see :ref:`dal_slots`) -- ``slot_size`` (126944B, ~1MiB): The size of a slot (see :ref:`dal_slots`) -- ``redundancy_factor`` (8): The erasure-code factor (see :ref:`dal_slots`) -- ``number_of_shards`` (512): The number of shards per slot (see :ref:`dal_slots`) diff --git a/docs/quebec/event.rst b/docs/quebec/event.rst deleted file mode 100644 index 7b639046a28a..000000000000 --- a/docs/quebec/event.rst +++ /dev/null @@ -1,114 +0,0 @@ -Contract events -=============== - -Contract events provide a way for smart contracts to deliver live information to external applications. -This mechanism allows off-chain applications to react to Tezos contracts execution. - -.. note:: - - Contract events should not be confused with :doc:`log events <../user/logging>`, which are generated by the various Octez tools to include information about their execution in their own logs. - -This page explains how events can be generated using specific support in the :doc:`Michelson language <../active/michelson>`. -For using events in higher-level languages for smart contracts, consult their own documentation. - -Emitting events ---------------- - -Contracts can create event emission operations by invoking the Michelson instruction ``EMIT``. -``EMIT %tag ty`` pops an item of type ``ty`` off the stack and pushes an ``operation`` onto the stack. -The type ascription ``ty`` is special since annotations in ``ty`` are preserved and eventually transmitted -in the event so that indexers have a choice to present the event body with appropriate labels. -Both the ``ty`` type ascription and ``%tag`` are optional. -If ``ty`` is absent, this type is inferred from the type of the top element of the stack. -If ``%tag`` is absent, no tag is attached to the event. - -To actually send out the events, most importantly, the produced ``operation``\s must be included in the list of -operations returned by the contract, along with ``TRANSFER_TOKEN`` operations for example. - -Upon successful contract execution, the events appearing in the resultant list of operations will be attached, in the order of appearance, to the transaction receipt. -There, the events are made ready for consumption by services observing the chain. - -Example -~~~~~~~ - -Suppose a contract wants to emit events with the following type: - -:: - - or (nat %int) (string %str) - -Then, this contract may generate an event emission operation with the following instructions:: - - PUSH string "right"; - RIGHT nat; - EMIT %notify_client (or (nat %int) (string %str)); - -Note that the ``EMIT`` instruction will emit an event with a tag ``notify_client``. -The additional tags ``int`` and ``str``, allow indexers to recognise the two variants and present the values with the appropriate variant labels. - -Retrieving events ------------------ - -Events successfully emitted can be read off from transaction results. - -This is typically achieved by making JSON RPCs to the block service. -It will return a list of operations, each including the event entries with the information above. - -Here is a sample result from a call, corresponding to the example above. - -:: - - { - "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK", - "hash": "opNX59asPwNZGu2kFiHFVJzn7QwtyaExoLtxdZSm3Q3o4jDdSmo", - // ... fields elided for brevity - "contents": [ - { - "kind": "transaction", - // ... fields elided for brevity - "metadata": { - // ... fields elided for brevity - "internal_operation_results": [ - { - "kind": "event", - // ... fields elided for brevity - "source": "KT1M1ynE3YXkM7qLZoMppq6szMbBvxX9yQVL", - "nonce": 0, - "type": { - "prim": "or", - "args": [ - { - "prim": "nat", - "annots": [ - "%int" - ] - }, - { - "prim": "string", - "annots": [ - "%str" - ] - } - ] - }, - "tag": "notify_client", - "payload": { - "prim": "Right", - "args": [ - { - "string": "right" - } - ] - }, - "result": { - "status": "applied", - "consumed_milligas": "1000000" - } - } - ] - } - } - ] - } - -Note that the ``operation`` produced by ``EMIT`` does not constitute a call to any other contract. diff --git a/docs/quebec/global_constants.rst b/docs/quebec/global_constants.rst deleted file mode 100644 index 05cf4c0c1800..000000000000 --- a/docs/quebec/global_constants.rst +++ /dev/null @@ -1,141 +0,0 @@ -Global Constants -================ - -The size limit for :doc:`Michelson ` contracts is quite small, limited to 60 -kilobytes as of Granada protocol. Global constants are a feature added -in Hangzhou protocol that enables the re-use of user-defined Micheline chunks in Michelson scripts, allowing -for larger and more complex contracts on the chain. It works in the -following way: - -- Fragments of Michelson code (written in the :doc:`Micheline format <../shell/micheline>`) are - registered on the chain via a new operation - ``register_global_constant``. An example expression might be the - integer ``999`` or the lambda expression ``{ PUSH int 999; ADD }`` -- Included in the receipt of the operation is a hash of the expression - registered. For example the hash ``999`` is - ``expruQN5r2umbZVHy6WynYM8f71F8zS4AERz9bugF8UkPBEqrHLuU8``. -- Constants can be referenced inside a Michelson script with the new - primitive ``constant``. For example, we could write a lambda - equivalent to the one above like so: - ``{ PUSH int (constant "expruQN5r2umbZVHy6WynYM8f71F8zS4AERz9bugF8UkPBEqrHLuU8"); ADD }`` - -Global Constant Registration ----------------------------- - -The new ``register_global_constant`` operation includes an object with a -single key ``"value"``, the value of which is the Micheline expression -to be registered. - -You can submit this operation conveniently through a new :doc:`octez-client ` command. -For example, the command: - -.. code:: sh - - octez-client register global constant "999" from bootstrap1 --burn-cap 0.017 - -would result in the output: - -:: - - Node is bootstrapped. - Estimated gas: 1440 units (will add 100 for safety) - Estimated storage: 68 bytes added (will add 20 for safety) - Operation successfully injected in the node. - Operation hash is 'onsFknW5iWa6eiTYqAghY4peQZ7JYQUJg5fR8MwAQkMKjXfNqGf' - NOT waiting for the operation to be included. - Use command - octez-client wait for onsFknW5iWa6eiTYqAghY4peQZ7JYQUJg5fR8MwAQkMKjXfNqGf to be included --confirmations 5 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU - and/or an external block explorer to make sure that it has been included. - This sequence of operations was run: - Manager signed operations: - From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx - Fee to the baker: ꜩ0.000385 - Expected counter: 1 - Gas limit: 1540 - Storage limit: 88 bytes - Balance updates: - tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ................ -ꜩ0.000385 - fees(the baker who will include this operation,0) ... +ꜩ0.000385 - Register Global: - Value: 999 - This global constant registration was successfully applied - Balance updates: - tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.017 - Consumed gas: 1440 - Storage size: 68 bytes - Global address: expruQN5r2umbZVHy6WynYM8f71F8zS4AERz9bugF8UkPBEqrHLuU8 - -As you can see, the address of the constant is returned in the operation -receipt in the field ``Global address``. This address is the Base58-encode Blake2b -hash of the binary serialization of the registered Micheline expression. -This means constants are content-addressable - given a particular Micheline -expression, you can always calculate its on-chain address and check if it’s registered. - -A few points about registering global constants: - -- Global constants may contain references to other constants; however, - any referenced constants must already be registered on the chain. As a - corollary, you cannot have cyclic references. -- Global constants are not type-checked before registration - any - valid Micheline expression may be registered. That said, attempting - to originate a contract that uses a constant in an ill-typed way will - fail. -- The total depth of the expression registered as a constant (after - expanding all constant references) may not exceed 10,000. -- The total number of nodes in the Micheline expression being - registered (after expanding all constant references) may not exceed - the ``max_micheline_node_count`` protocol constant. As of Hangzhou - this is 50,000. -- The total number of bytes in the Micheline expression being - registered (after expanding all constant references) may not exceed - the ``max_micheline_bytes_limit`` protocol constant. As of Hangzhou - this is 50,000. - -Originating a Contract that uses Global Constants -------------------------------------------------- - -A global constant can be referenced in Michelson scripts via the -primitive ``constant``, which accepts a single string argument, being -the hash of the expression to be referenced at runtime. This primitive -can be used to replace any Micheline node in the bodies of the -``parameter``, ``storage``, ``code``, or ``view`` fields of a Michelson script. For -example, we replace every instance of the type ``lambda unit unit`` and -value 999 with their respective hashes: - -.. code-block:: michelson - - parameter (constant "exprtYirrFwYKm6yKLzJNtYRbq49zedYq16BonRvMzHiwSbUekB9YL"); - storage (big_map int (constant "exprtYirrFwYKm6yKLzJNtYRbq49zedYq16BonRvMzHiwSbUekB9YL")); - code { - PUSH int (constant "expruQN5r2umbZVHy6WynYM8f71F8zS4AERz9bugF8UkPBEqrHLuU8"); - # - }; - -The full expansion of this contract would be: - -.. code-block:: michelson - - parameter (lambda unit unit); - storage (big_map int (lambda unit unit)); - code { - PUSH int 999; - # - }; - -During origination, all constants are expanded recursively. The -operation will fail if the resulting contract is ill-typed. Global -constant expansion consumes gas; thus, the operation may also fail due -to gas exhaustion. - -Global Constants at Runtime ---------------------------- - -Contracts that use global constants are semantically equivalent to the -contract with all constants expanded. - -Note that using the `UNPACK `__ -operation to deserialize a lambda which contains a reference to a global -constant is not supported. Similarly, originating a contract which contains -a reference to a global constant using the -`CREATE_CONTRACT `__ -instruction will also fail. diff --git a/docs/quebec/glossary.rst b/docs/quebec/glossary.rst deleted file mode 100644 index 11ca5f5976b3..000000000000 --- a/docs/quebec/glossary.rst +++ /dev/null @@ -1,425 +0,0 @@ -Glossary -======== - -This glossary is divided in two sections: - -- The first section contains Tezos generic terms (i.e., which are not related to a particular protocol), such as Tezos_ or block_. -- The second section contains terms defined by the `economic protocol`_, such as Tez_/XTZ_, account_, `smart contract`_, or delegate_. - The list of terms in this section and/or their definitions may be different for other protocol versions. - -Tezos terms ------------ - -_`Block` - The Tezos blockchain is a linked list of blocks (or actually, a tree when several competing branches exist). - Blocks conceptually contain a header and a list of operation_\ s, - which are specific to the `economic protocol`_. - - The header itself decomposes into a :ref:`shell header` (common to all Tezos economic protocols), and a protocol-specific header. - The shell header contains protocol-agnostic data such as the predecessor's block hash and the block's timestamp. - -.. _def_context: -.. _def_context_quebec: - -_`Context` - The state of the blockchain. The context is defined by the - `economic protocol`_ and typically includes information such as - “this account_ is credited with this many tez” and “this is the - code for that `smart contract`_.” - - The context is modified by operation_\ s. For example, an - operation_ can transfer tez from one account_ to another, which modifies the - part of the context that tracks account_ credit. - -_`Economic protocol` - The economic protocol is the set of rules defining valid operation_\ s and block_\ s, how the network agrees on the next block to build (the consensus algorithm), - and how operations update the blockchain state, also called context_. - - In Tezos, the economic protocol can be upgraded without interruption or - forking of the blockchain. This is because the procedure for an upgrade is also defined within the economic protocol, which can thus update itself. - -_`Fitness` (a.k.a. score, weight) - For each block, the consensus algotrithm can compute a score called fitness which determines the quality of the chain leading to that block. - The shell changes the head of the chain to the valid block that has the highest fitness. - -_`Height` - See level_. - -.. _def_level: -.. _def_level_quebec: - -_`Level` (a.k.a. block height) - The position of a block_ in the blockchain, that is, the number of blocks - since the genesis block, where the genesis block is at level 0. - -_`Mempool` - A pool (set) of operation_\ s maintained by a node_ and not yet included in a block_. - -.. _def_metadata: -.. _def_metadata_quebec: - -_`Metadata` - A (block or operation) metadata is a piece of data - computed as a result of the application of the - block or operation on an associated context_. The metadata - consists of many pieces of information such as the operation receipts, - rewards updates, voting period, etc. - - A block's metadata is the collections of operations metadata for all the operations included in the block (if the validation was successful). - - For a detailed metadata content check the :doc:`./rpc` under - the prefix ``..//metadata``. - -_`Node` - A peer in the P2P network. It maintains a local state and propagates block_\ s - and operation_\ s. - -_`Operation` - An operation transforms the context_; this is what makes the state of the chain - change. Operations are grouped into block_\ s; thus, the chain progresses in - batches. - For the different kinds of operations defined by the protocol, see `operation kinds`_. - -_`Score` - See fitness_. - -_`Shell` - The shell is a software component of the node_. It is parameterized by a - specific `economic protocol`_. It serves as the bridge between the P2P layer - (handling communication between nodes) and the `economic protocol`_ layer - (handling the context_, operation_ application, scoring, etc.). - -_`Tezos` - Used either as a noun or an adjective to designate: - - * An open-source project and software (as in, "contributing to the Tezos protocol") - * A peer-to-peer network of nodes maintaining a blockchain (as in "a Tezos node") - * The specific Tezos chain with the most economic relevance (as in "the Tezos chain"). In particular, the chain whose millionth block had hash `BKtC4QCWoF73kxLj773vFpQuuwrnye6PS7T1aM3XEPvFXiQbNu7 `__ - -_`Weight` - See fitness_. - -Protocol terms --------------- - -.. _def_accuser: -.. _def_accuser_quebec: - -_`Accuser` - When a delegate_ attempts `double signing`_ (or when it tries - to abuse the network in another similar way), another delegate_ can make an - accusation, by providing evidence of the offense. The delegate_ injecting the accusation in a newly baked block is called the accuser.\ - - The accuser is awarded some funds from the security deposit of the accused. - - When using :ref:`Octez `, accusation operations are emitted by the - accuser daemon. Note that this daemon is not associated to a delegate: accusation operations are anonymous, and any delegate can include them in a block. - -.. _def_account: -.. _def_account_quebec: - -_`Account` - An account is an address managed by the protocol. - In the context_, each account is associated with a balance (an amount of - tez available). - - An account can be either a `user account`_ or a `smart contract`_. - -_`Attesting` - When a block_ is created and propagated on the network, delegates that have - `attesting rights`_ for the matching block level_ and round_ can emit an attestation operation_. - Attestation operations are included in the next block_. - -_`Attesting rights` - See `baking rights`_. - -_`Baker` - When a delegate_ creates a new block_, it is called the baker of this block. - `Baking rights`_ are distributed to different delegates based on their - available stake_. Only a delegate with baking rights - is allowed to bake. - The baker selects transactions from the mempool_ to be included in the block it bakes. - - When using :ref:`Octez `, baking and other consensus actions are handled by the baker - daemon, on behalf of one or more delegate_ accounts. - By extension, a baker designates the owner of such a delegate account, typically running the baker daemon on its behalf. - -_`Baking` - The act of creating a new block_ by a baker_. - -_`Baking rights` - Baking_/attesting_ a block_ can only be done by a delegate_ who holds the - baking/attesting right for that block level_ and round_. At the start of a cycle_, - baking and attesting rights are computed for all the block_ levels and rounds in the - cycle_, based on the proportion of the stake_ of each delegate_. - - For each block_ level and round_, there is exactly one account that is allowed to bake, but several accounts are allowed to attest. - -_`Burn` - To ensure responsible use of the storage space on the public blockchain, - there are some costs charged to users for consuming storage. These - costs are burnt (i.e., the amount of tez is destroyed). For example, - a per-byte storage cost is burnt for increasing the storage space of a - smart contract; a fixed amount is burnt for allocating a new contract - (which consumes space by storing its address on the blockchain). - - See also `fee`_. - -_`Constant` - Protocols are parameterized by several parameters called protocol constants, which may vary from one protocol to another or from one network to another. - -_`Contract` - See account_. - -.. _def_cycle: -.. _def_cycle_quebec: - -_`Cycle` - A cycle is a sequence of consecutive block_\ s of fixed length (given by a protocol constant_). E.g., cycle 12 started at block - level 49152 and ended at block_ level 53248. - - Cycles are used as a unit of “time” in the block_ chain. For example, the - different phases in the amendment voting procedures are defined based on - numbers of cycles. - - The length of a cycle is a (parametric) protocol - constant_, and thus might change across different - Tezos protocols. - -.. _def_delegate: -.. _def_delegate_quebec: - -_`Delegate` - A `user account`_ that can participate in consensus and in governance. - Actual participation is under further provisions, like having a `minimal stake`_. - A user account becomes a delegate by registering as such. - Through delegation_, other accounts can delegate their rights to a delegate account. - The delegate's rights are calculated based on its stake_. - Note that ``tz4`` accounts cannot be delegates. - -_`Delegation` - An operation_ in which an account_ designates a - delegate_. The delegating account's balance increases the delegate_'s stake_ and consequently - its `baking rights`_ and `attesting rights`_. However, the delegate_ does not control the funds of - the delegating account_, e.g., it can not spend them. - -.. _def_double_signing: -.. _def_double_signing_quebec: - -_`Double signing` - The situation when a baker_ signs two different block_\ s at the same level and same round, - is called double baking. Double baking is detrimental to the network and might be - indicative of an attempt to double spend. - The same goes for signing two different attestations at the same level and the same round. - As such, double signing (i.e., double baking or double attesting) is punished by the - network: an accuser_ can provide proof of the double signing to be awarded - part of the double signer's deposit -- see :ref:`Slashing`. - -_`Failing Noop` - The ``Failing_noop`` operation implements a *No-op*, which always - fails at :ref:`application time`, and - should never appear in :ref:`applied - blocks`. This operation allows end-users to - :ref:`sign arbitrary messages` which have no - computational semantics. - -.. _def_fee: -.. _def_fee_quebec: - -_`Fee` - To ensure responsible use of computation resources of other nodes, and also to encourage active participation in the consensus protocol, - users pay fees to bakers for including their operation_\ s in block_\ s. - For example, fees are paid to a baker for operations such as a transaction_ or a revelation of a public key. - - Currently, only :ref:`manager operations` - require collecting fees from its sender account_. - - See also `burn`_. - -.. _def_gas: -.. _def_gas_quebec: - -_`Gas` - A measure of the number of elementary steps performed during - the execution of a `smart contract`_. Gas is used to measure how - much computing power is used to execute a `smart contract`_. - -_`Implicit account` - See `user account`_. - -_`Layer 1` - The primary blockchain i.e. the Tezos chain. Within any blockchain ecosystem, Layer 1 (L1) refers to the main chain to - which side chains, rollups, or other protocols connect and settle to. The Layer 1 chain is deemed to be most - secure, since it has the most value (or stake) tied to it, and be most decentralized and censorship resistant. - However, transaction space is limited leading to low throughput and possibly high transaction costs. - See `Layer 2`_. - -_`Layer 2` - Layer 2 (L2) includes sidechains, rollups, payment channels, etc. that batch their transactions and - write to the `Layer 1`_ chain. By processing transactions on layer 2 networks, - greater scalability in speed and throughput can be achieved by the ecosystem overall, since the number of transactions - the Layer 1 can process directly is limited. By cementing transactions from a L2 to L1, - the security of the L1 chain backs those operations. Currently, Layer 2 solutions on Tezos are built as `smart rollup`_\ s. - -_`Michelson` - The built-in language used by a `smart contract`_. - -.. _def_minimal_stake: -.. _def_minimal_stake_quebec: - -_`Minimal stake` - An amount of tez (e.g., 6000ꜩ) serving as a minimal amount for a - delegate to have `baking rights`_ and voting rights in a cycle_. - -_`Operation kinds` - The main kinds of operations in the protocol are transactions (to transfer funds - or to execute smart contracts), accusations, activations, delegations, - attestations, and originations. - For the full list of operations, see :doc:`./blocks_ops`. - -_`Originated account` - See `smart contract`_. - -.. _def_origination: -.. _def_origination_quebec: - -_`Origination` - A manager operation_ whose purpose is to create -- that - is, to deploy -- a `smart contract`_ on the Tezos blockchain. - -_`PVM` - A PVM (Proof-generating Virtual Machine) is a reference - implementation for a device on top of which a `smart rollup`_ can be - executed. This reference implementation is part of the `economic - protocol`_ and is the unique source of truth regarding the semantics - of rollups. The PVM is able to produce proofs enforcing this truth. - This ability is used during the final step of a `refutation game`_. - -_`Refutation game` - A process by which the `economic protocol`_ solves a conflict between two - `rollup committer`_\ s. - Note that the refutation mechanism used in Tezos `smart rollup`_\ s corresponds to the notion of `fraud proofs `__ used in other blockchain/Layer 2 ecosystems. - -_`Refutation period` - When the first `rollup commitment`_ for a `rollup commitment period`_ is published, a refutation - period of two weeks starts to allow this commitment to be challenged. - -_`Roll` - deprecated; see `minimal stake`_. - -_`Rollup commitment` - A claim that the interpretation of all `rollup inbox`_ messages - published during a given period, and applied on the state of - a parent rollup commitment, led to a given new state by performing a given - number of execution steps of the `PVM`_. - -_`Rollup commitment period` - A period of roughly 15 minutes during which all `rollup inbox`_ - messages must be processed by the `rollup node`_ state to compute a - `rollup commitment`_. A commitment must be published for each commitment - period. - -_`Rollup committer` - A `user account`_ that has published and made a deposit on a - `rollup commitment`_. - -_`Rollup inbox` - A sequence of messages from the Layer 1 to all the `smart rollup`_\ s. - The contents of the inbox are determined by the consensus of the - `economic protocol`_. - -_`Rollup node` - A daemon required for deploying and operating `smart rollup`_\ s. - The rollup node is responsible for making the rollup progress by publishing `rollup commitment`_\ s and by playing `refutation game`_\ s. - -_`Rollup outbox` - A sequence of messages from a `smart rollup`_ to the Layer 1. - Messages are `smart contract`_ calls, potentially containing tickets. - These calls can be triggered only when the related `rollup commitment`_ is - cemented (hence, at least two weeks after the actual execution of - the operation). - -.. _def_round: -.. _def_round_quebec: - -_`Round` - An attempt to reach consensus on a block at a given level. - A round is represented by an index, starting with 0. - Each round corresponds to a time span. - A baker_ with `baking rights`_ at a given round is only allowed to bake during - the round's corresponding time span. Baking_ outside of one's designated - round results in an invalid block_. - -_`Smart contract` - Account_ which is associated to a Michelson_ script. - They are created with an - explicit origination_ operation and are therefore sometimes called - originated accounts. The address of a smart contract always starts - with the letters ``KT1``. - -_`Smart Rollup` - Smart rollups constitute a `Layer 2`_ solution that can be used to deploy either a general-purpose polyvalent Layer 2 blockchain - (e.g., an EVM-compatible one), or an application-specific DApp. - See :doc:`smart_rollups`. - -_`Stake` - The amount of tokens that determines a delegate_'s weight in the - governance process and in the selection of its baking and - `attesting rights`_. A delegate's stake is usually given by the - delegate's own tokens plus the sum of tokens delegated to - it. However, there are cases when this is not the case, see - :ref:`here` for details. - -_`Staker` - A `user account`_ that made a security deposit. - The user account must have set a delegate. - The security deposit accrues to the stake of the user account's delegate and is - subject to slashing in case the delegate misbehaves -- see :ref:`Slashing`. - -_`Tez` - A unit of the cryptocurrency native to a Tezos_ chain, such as in "I sent you 2 tez." Tez is invariable. It is not capitalized except at the beginning of a sentence or when you would otherwise capitalize a noun. - See also XTZ_. - -_`Transaction` - An operation_ to transfer tez between two accounts, or to run the code of a - `smart contract`_. - -.. _def_user_account: -.. _def_user_account_quebec: - -_`User account` - An account_ that is linked to a public key. Contrary to a `smart - contract`_, a user account cannot include a script and it - cannot reject incoming transactions. - User accounts are sometimes called "implicit accounts". - - If *registered*, a user account can act as a delegate_. - - The address of a user account always starts with the - letters ``tz`` followed by ``1``, ``2``, ``3``, or ``4`` (depending on the - signature scheme) and finally the hash of the public key. - See :doc:`./accounts` for a more detailed explanation on addresses. - -_`Validation pass` - An index (a natural number) associated with a particular kind of - operations, allowing to group them into classes. Validation passes - enable prioritizing the :ref:`validation and - application` of certain classes of - operations. - -_`Voting period` - Any of the ``proposal``, ``exploration``, ``cooldown``, - ``promotion`` or ``adoption`` stages in the voting procedure when - amending the `economic protocol`_. - -_`Voting listings` - The list calculated at the beginning of each `voting period`_ that contains - the staking balance (in number of mutez) of each delegate_ that owns more - than the `minimal stake`_ at that moment. For each delegate_, the voting listings - reflect the weight of the vote emitted by the delegate_ when amending the - `economic protocol`_. - -_`XTZ` - XTZ, tez, or ꜩ (``\ua729``, "Latin small letter tz") is the native currency of Tezos. - - "XTZ" is an ISO-4217-compatible code for representing tez on the most economically relevant Tezos chain. Unless there is a very specific reason to use an ISO code for it, the term tez is preferred. Situations where the ISO code might be useful typically involve accounting systems, exchange rates with other currencies, and anything that might need some sort of standardized code. diff --git a/docs/quebec/index.rst b/docs/quebec/index.rst deleted file mode 100644 index cda88bd09470..000000000000 --- a/docs/quebec/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -The economic protocol -===================== - -The economic protocol provides the rules for checking the validity of the blocks and operations, and for updating the blockchain state accordingly, by applying new valid blocks and operations on the current blockchain state. These rules can be changed through voting. -Thus, the -economic protocol represents the amendable part of Tezos. - -The following pages provide the full documentation for this protocol. -The differences with respect to other protocols are summarized in the protocol release page -:doc:`../protocols/021_quebec`. - -.. toctree:: - :maxdepth: 2 - - protocol - -The following pages provide a reference for this protocol: - -.. toctree:: - :maxdepth: 2 - - glossary - cli-commands - rpc diff --git a/docs/quebec/liquidity_baking.rst b/docs/quebec/liquidity_baking.rst deleted file mode 100644 index 933842af0554..000000000000 --- a/docs/quebec/liquidity_baking.rst +++ /dev/null @@ -1,94 +0,0 @@ -Liquidity Baking -================ - -Liquidity baking incentivizes large amounts of decentralized liquidity provision between tez and tzBTC by minting a small amount of tez every block and depositing it inside of a constant product market making smart-contract. - -Contracts -~~~~~~~~~ - -During activation of Granada protocol, a constant product market making (CPMM) Michelson contract has been deployed on the chain with address ``KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5`` as well as an associated liquidity token contract (LQT) with address ``KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo``. - -.. warning:: - - While the CPMM and LQT contract originations provide an ``Origination_result``, the LQT contract contains two big maps not included in a ``lazy_storage_diff`` field. Indexers and other tooling may need manual updates to include these. - -The CPMM maintains a balance of ``a`` tez and ``b`` `tzBTC `_, where tzBTC is the `FA1.2 token `_ found at address ``KT1PWx2mnDueood7fEmfbBDKx1D9BAnnXitn``. The smart contract accepts deposits of ``da`` tez and returns ``db`` tzBTC (or vice versa) where the invariant ``(a + da * (1 - f - n)) * (b - db) = a b`` is preserved, and ``f`` and ``n`` are a fee and burn, set at 0.1% each. Calculations are done with precision of 1000, rounding down on division. - -To implement this contract, we use a fork of the open source code base used by `version two `_ of the "Dexter" project. The implementation of this contract has been `formally verified `_ against its functional specification. The contract code is modified in the following way: - -1. The fee is set to 0.1% only (the fee in Dexter v2 is set to 0.3%). Rationale: given the subsidy it is not necessary to charge a large fee and better to improve liquidity. -2. An additional 0.1% of every trade is burned by being transferred to the null user account. Rationale: this mechanism offsets inflation from the subsidy. The inflation is exactly balanced at a daily trade volume of 7.2 million tez. -3. The ability to set a delegate has been removed. Rationale: the subsidy means there is no need for a baker for that contract and having one would create an imbalance. -4. The ability to set a manager has been removed. Rationale: the only privilege of the Dexter manager is to set Dexter's delegate so this role is now unnecessary. - -The LIGO and Michelson code for these contracts, as well as detailed documentation, can be found on `the liquidity baking branch of the Dexter 2 repository `_. - -Subsidy -~~~~~~~ - -At every block in the chain, a small amount of tez is minted and credited to the -CPMM contract, and the CPMM's ``%default`` entrypoint is called to update the -``xtz_pool`` balance in its storage. The amount that is minted and sent to the -CPMM contract is 1/16th of the rewards for a block of round 0 with all -attestations; currently these rewards are 13.33 tez per block so the amount that is -sent to the CPMM contract is 0.83 tez per block. - -So the credits to the CPMM contract can be accounted for by indexers, they are included in block metadata as a balance update with a new constructor for ``update_origin``, ``Subsidy``. - -.. _toggle: -.. _toggle_quebec: - -Toggle vote -~~~~~~~~~~~ - -The subsidy can be paused by a mechanism called the Liquidity Baking -Toggle Vote. At every block, the baker producing the block includes -a flag that requests ending the subsidy or on the contrary continuing -or restarting it. The context maintains an exponential moving average -of that flag. The baker has three options for this flag: ``Off`` to -request ending the subsidy, ``On`` to request continuing or restarting -the subsidy, and ``Pass`` to abstain. - -``e[n+1] = e[n]`` if the flag is set to ``Pass``. -``e[n+1] = (1999 * e[n] // 2000) + 1_000_000`` if the flag is set to ``Off``. -``e[n+1] = (1999 * e[n] // 2000)`` if the flag is set to ``On``. -When computing ``e[n+1]``, the division is rounded toward ``1_000_000_000``. - -If at any block ``e[n] >= 1_000_000_000`` then it means that an -exponential moving average with a window size on the order of two -thousand non-abstaining blocks has had roughly at least a half of the -blocks demanding the end of the subsidy. If that is the case, the -subsidy is halted but can be reactivated if for some later block -``e[n] < 1_000_000_000``. - -For indicative purposes, if among the non-abstaining blocks a fraction -``f`` of blocks use it to request ending the subsidy, the threshold is -reached after roughly ``2*(log(1-1/(2f)) / log(0.999))`` -non-abstaining blocks, about 1386 blocks if everyone signals, 1963 -blocks if 80% do, 3583 blocks if 60% do etc. Recall for comparison -that assuming six blocks per minute there are 8640 blocks per day. - -When producing blocks using Octez baking daemon ``octez-baker``, there -are two command-line options affecting toggle vote. The -``--liquidity-baking-toggle-vote `` option sets a static -value to be used in each block. Note that this option must be placed -**after** ``run`` on the command-line. Moreover, the path of a JSON -file can be given to the ``--votefile `` option -e.g. ``octez-baker- run with local node -~/.tezos-node alice --liquidity-baking-toggle-vote on --votefile -"per_block_votes.json"``, or placed in a default location: -``per_block_votes.json`` in the current working directory **or** in -the client data directory -(e.g. ``~/.tezos-client/per_block_votes.json``); the former location -takes precedence. The content of the JSON file will be repeatedly -submitted on each baked block, where ``per_block_votes.json`` contains -just ``{"liquidity_baking_toggle_vote": "pass"}`` (to abstain), -``{"liquidity_baking_toggle_vote": "off"}`` (to request ending the -subsidy), or ``{"liquidity_baking_toggle_vote": "on"}`` (to request -continuing the subsidy). When the ``--votefile`` option is present it -takes precedence over ``--liquidity-baking-toggle-vote``. If the JSON -file is deleted or becomes malformed while the baker is running, the -last valid value read is used. If neither a valid vote file is -provided nor a CLI value given, the baker will fail on the first block -after it was started. See also the :ref:`baker man -page`. diff --git a/docs/quebec/michelson.rst b/docs/quebec/michelson.rst deleted file mode 100644 index c6c0bb9de595..000000000000 --- a/docs/quebec/michelson.rst +++ /dev/null @@ -1,2525 +0,0 @@ -Michelson: the language of Smart Contracts in Tezos -=================================================== - -This specification gives a detailed formal semantics of the Michelson -language and a short explanation of how smart contracts are executed -and interact in the blockchain. - -The language is stack-based, with high level data types and primitives, -and strict static type checking. Its design cherry-picks traits from -several language families. Vigilant readers will notice direct -references to Forth, Scheme, ML and Cat. - -A Michelson program is a series of instructions that are run in -sequence: each instruction receives as input the stack resulting from the -previous instruction, and rewrites it for the next one. The stack -contains both immediate values and heap allocated structures. All values -are immutable and garbage collected. - -The types of the input and output stack are fixed and monomorphic, -and the program is typechecked before being introduced into the system. -No smart contract execution can fail because an instruction has been -executed on a stack of unexpected length or contents. - -This specification gives the complete instruction set, type system and -semantics of the language. It is meant as a precise reference manual, -not an easy introduction. Even though, some examples are provided at -the end of the document and can be read first or at the same time as -the specification. The document also starts with a less formal -explanation of the context: how Michelson code interacts with the -blockchain. - -.. _transaction_semantics: -.. _transaction_semantics_quebec: - -Semantics of smart contracts and transactions ---------------------------------------------- - -The Tezos ledger currently has two types of accounts that can hold -tokens. Accounts can be used in transactions as senders, to send tokens, -or as destinations, to receive tokens. - -- User account: non-programmable account whose address is - the public key hash, prefixed by ``tz`` and one digit. - User accounts are sometimes called implicit accounts. - A transaction to such an address cannot provide data, except :doc:`tickets <./tickets>`. -- Smart contract: programmable account associated to some Michelson code, - whose address is a unique hash, prefixed by ``KT1``. - A transaction to such - an address can provide data, and can fail for reasons detailed below. - Smart contracts are sometimes called originated accounts. - -Finally, addresses prefixed with ``sr1`` identify :doc:`Smart Rollups -<./smart_rollups>`, which cannot hold tokens but can be the destination of transactions. - -See :doc:`./accounts` for more details. - -Smart contract call semantics -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The only way to call a smart contract is to perform a transaction operation whose destination is the address of the smart contract. - -Alongside their tokens, smart contracts keep a piece of storage. Both -are ruled by a specific logic specified by a Michelson program. A -transaction to a smart contract will provide an input value and in -option some tokens, and in return, the smart contract can modify its -storage and transfer its tokens. - -The Michelson program receives as input a stack containing a single -pair whose first element is an input value and second element the -content of the storage space. It must return a stack containing a -single pair whose first element is the list of operations -that it wants to emit, and second element is the new contents of the -storage space. Alternatively, a Michelson program can fail, explicitly -using a specific opcode, or because something went wrong that could -not be caught by the type system (e.g. gas exhaustion). - -A bit of polymorphism can be used at contract level, with a -lightweight system of named entrypoints: instead of an input value, -the contract can be called with an entrypoint name and an argument, -and these two components are transformed automatically in a simple and -deterministic way to an input value. This feature is available both -for users and from Michelson code. See the dedicated section. - -Transaction semantics -~~~~~~~~~~~~~~~~~~~~~ - -On one hand, a smart call may result from an external operation of kind Transaction. -External operations are :doc:`blockchain operations <./blocks_ops>` included in a block, signed by a user account. - -On the other hand, a smart contract call may be emitted as an internal operation of kind Transaction, either when executing another smart contract call or when :ref:`triggering the execution of an outbox message from a smart rollup `. - -This section explains the whole semantics of an external transaction, including the execution of the smart contract called directly by it and the others smart contracts called indirectly via emitted internal operations. - -The subset of blockchain operations that can be emitted by Michelson programs as internal operations are of the following kinds: - -- Transaction transferring: - - * tokens and optionally tickets to a user account, or - * tokens and parameters to a smart contract (or, optionally, to a specified - entrypoint of a smart contract), or - * parameters to a smart rollup. - -- Origination creating a new smart contract from its Michelson - source code, an initial amount of tokens transferred from the - source, and an initial storage content. -- Delegation assigning the tokens of the sender account to the stake of - a user account (without transferring any tokens). -- :doc:`Contract event <./event>` delivering live information from a smart - contract to external applications. - -Internal operations are not included in any block, and are not signed. - -Internal operations are run in an atomic sequence with the external operation who generated them, right after it, in depth-first order. - -Note that :ref:`manager operations batches ` contain a sequence of external operations signed as a whole by a source user account, which are executed atomically. -For example, in case of a batch of two external operations, execution proceeds as follows: - -:: - - +------+----------------+-------+----------------+ - | op 1 | internal ops 1 | op 2 | internal ops 2 | - +------+----------------+-------+----------------+ - -Smart contracts called by internal operations can in turn also emit -internal operations. The interpreter -uses a stack of internal operations to perform them in depth-first order, as in the following more detailed -example, corresponding to the two external operations above. - -:: - - +-----------+---------------+--------------------------+ - | executing | emissions | resulting stack | - +-----------+---------------+--------------------------+ - | op 1 | 1a, 1b, 1c | 1a, 1b, 1c | - | op 1a | 1ai, 1aj | 1ai, 1aj, 1b, 1c | - | op 1ai | | 1aj, 1b, 1c | - | op 1aj | | 1b, 1c | - | op 1b | 1bi | 1bi, 1c | - | op 1bi | | 1c | - | op 1c | | | - | op 2 | 2a, 2b | 2a, 2b | - | op 2a | 2ai | 2ai, 2b | - | op 2ai | 2ai1 | 2ai1, 2b | - | op 2ai1 | | 2b | - | op 2b | 2bi | 2bi | - | op 2bi | 2bi1 | 2bi1 | - | op 2bi1 | 2bi2 | 2bi2 | - | op 2bi2 | | | - +-----------+---------------+--------------------------+ - -Failures -~~~~~~~~ - -All transactions can fail for a few reasons, mostly: - -- Not enough tokens in the source to spend the specified amount. -- The script took too many execution steps. -- The script failed programmatically using the ``FAILWITH`` instruction. - -External transactions can also fail for these additional reasons: - -- The signature of the external operations was wrong. -- The code or initial storage in an origination did not typecheck. -- The parameter in a transfer did not typecheck. -- The destination did not exist. -- The specified entrypoint did not exist. - -All these errors cannot happen in internal transactions, as the type -system catches them at operation creation time. In particular, -Michelson has two types to talk about other addresses: ``address`` and -``contract t``. The ``address`` type merely gives the guarantee that -the value has the form of a Tezos address. The ``contract t`` type, on -the other hand, guarantees that the address is indeed a valid destination of -transfers whose parameter type is ``t``. To make a transaction from -Michelson, a value of type ``contract t`` must be provided, and the -type system checks that the argument to the transaction is indeed of -type ``t``. Hence, all transactions made from Michelson are well -formed by construction. - -In any case, when a failure happens, either total success or total -failure is guaranteed. If a transaction (internal or external) fails, -then the whole sequence fails and all the effects up to the failure -are reverted. These transactions can still be included in blocks, and -the transaction fees are given to the user account who baked the -block. - -Language semantics ------------------- - -This specification explains in a symbolic way the computation performed by the -Michelson interpreter on a given program and initial stack to produce -the corresponding resulting stack. The Michelson interpreter is a pure -function: it only builds a result stack from the elements of an initial -one, without affecting its environment. This semantics is then naturally -given in what is called a big step form: a symbolic definition of a -recursive reference interpreter. This definition takes the form of a -list of rules that cover all the possible inputs of the interpreter -(program and stack), and describe the computation of the corresponding -resulting stacks. - -Rules form and selection -~~~~~~~~~~~~~~~~~~~~~~~~ - -The rules have the main following form. - -:: - - > (syntax pattern) / (initial stack pattern) => (result stack pattern) - iff (conditions) - where (recursions) - and (more recursions) - -The left hand side of the ``=>`` sign is used for selecting the rule. -Given a program and an initial stack, one (and only one) rule can be -selected using the following process. First, the toplevel structure of -the program must match the syntax pattern. This is quite simple since -there are only a few non-trivial patterns to deal with instruction -sequences, and the rest is made of trivial patterns that match one -specific instruction. Then, the initial stack must match the initial -stack pattern. Finally, some rules add extra conditions over the values -in the stack that follow the ``iff`` keyword. Sometimes, several rules -may apply in a given context. In this case, the one that appears first -in this specification is to be selected. If no rule applies, the result -is equivalent to the one for the explicit ``FAILWITH`` instruction. This -case does not happen on well-typed programs, as explained in the next -section. - -The right hand side describes the result of the interpreter if the rule -applies. It consists in a stack pattern, whose parts are either -constants, or elements of the context (program and initial stack) that -have been named on the left hand side of the ``=>`` sign. - -Recursive rules (big step form) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Sometimes, the result of interpreting a program is derived from the -result of interpreting another one (as in conditionals or function -calls). In these cases, the rule contains a clause of the following -form. - -:: - - where (intermediate program) / (intermediate stack) => (partial result) - -This means that this rule applies in case interpreting the intermediate -state on the left gives the pattern on the right. - -The left hand sign of the ``=>`` sign is constructed from elements of -the initial state or other partial results, and the right hand side -identify parts that can be used to build the result stack of the rule. - -If the partial result pattern does not actually match the result of the -interpretation, then the result of the whole rule is equivalent to the -one for the explicit ``FAILWITH`` instruction. Again, this case does not -happen on well-typed programs, as explained in the next section. - -Format of patterns -~~~~~~~~~~~~~~~~~~ - -Code patterns are of one of the following syntactical forms. - -- ``INSTR`` (an uppercase identifier) is a simple instruction (e.g. - ``DROP``). -- ``INSTR (arg) ...`` is a compound instruction, whose arguments can be - code, data or type patterns (e.g. ``PUSH nat 3``). -- ``{ (instr) ; ... }`` is a possibly empty sequence of instructions, - (e.g. ``IF { SWAP ; DROP } { DROP }``), nested sequences can drop the - braces. -- ``name`` is a pattern that matches any program and names a part of - the matched program that can be used to build the result. -- ``_`` is a pattern that matches any instruction. - -Stack patterns are of one of the following syntactical forms. - -- ``[FAILED]`` is the special failed state. -- ``[]`` is the empty stack. -- ``(top) : (rest)`` is a stack whose top element is matched by the - data pattern ``(top)`` on the left, and whose remaining elements are - matched by the stack pattern ``(rest)`` on the right (e.g. - ``x : y : rest``). -- ``name`` is a pattern that matches any stack and names it in order to - use it to build the result. -- ``_`` is a pattern that matches any stack. - -Data patterns are of one of the following syntactical forms. - -- integer/natural number literals, (e.g. ``3``). -- string literals, (e.g. ``"contents"``). -- raw byte sequence literals (e.g. ``0xABCDEF42``). -- ``Tag`` (capitalized) is a symbolic constant, (e.g. ``Unit``, - ``True``, ``False``). -- ``(Tag (arg) ...)`` tagged constructed data, (e.g. ``(Pair 3 4)``). -- a code pattern for first class code values. -- ``name`` to name a value in order to use it to build the result. -- ``_`` to match any value. - -The domain of instruction names, symbolic constants and data -constructors is fixed by this specification. Michelson does not let the -programmer introduce its own types. - -Be aware that the syntax used in the specification may differ from -the :ref:`concrete syntax `. In particular -some instructions are annotated with types that are not present in the -concrete language because they are synthesized by the typechecker. - -Shortcuts -~~~~~~~~~ - -Sometimes, it is easier to think (and shorter to write) in terms of -program rewriting than in terms of big step semantics. When it is the -case, and when both are equivalents, we write rules of the form: - -:: - - p / S => S'' - where p' / S' => S'' - -using the following shortcut: - -:: - - p / S => p' / S' - -The concrete language also has some syntax sugar to group some common -sequences of operations as one. This is described in this specification -using a simple regular expression style recursive instruction rewriting. - -.. _michelson_type_system: -.. _michelson_type_system_quebec: - -Introduction to the type system and notations ---------------------------------------------- - -This specification describes a type system for Michelson. To make things -clear, in particular to readers that are not accustomed to reading -formal programming language specifications, it does not give a -typechecking or inference algorithm. It only gives an intentional -definition of what we consider to be well-typed programs. For each -syntactical form, it describes the stacks that are considered well-typed -inputs, and the resulting outputs. - -The type system is sound, meaning that if a program can be given a type, -then if run on a well-typed input stack, the interpreter will never -apply an interpretation rule on a stack of unexpected length or -contents. Also, it will never reach a state where it cannot select an -appropriate rule to continue the execution. Well-typed programs do not -block, and do not go wrong. - -Type notations -~~~~~~~~~~~~~~ - -The specification introduces notations for the types of values, terms -and stacks. Apart from a subset of value types that appear in the form -of type annotations in some places throughout the language, it is -important to understand that this type language only exists in the -specification. - -A stack type can be written: - -- ``[]`` for the empty stack. -- ``(top) : (rest)`` for the stack whose first value has type ``(top)`` - and queue has stack type ``(rest)``. - -Instructions, programs and primitives of the language are also typed, -their types are written: - -:: - - (type of stack before) -> (type of stack after) - -The types of values in the stack are written: - -- ``identifier`` for a primitive data-type (e.g. ``bool``). -- ``identifier (arg)`` for a parametric data-type with one parameter - type ``(arg)`` (e.g. ``list nat``). -- ``identifier (arg) ...`` for a parametric data-type with several - parameters (e.g. ``map string int``). -- ``[ (type of stack before) -> (type of stack after) ]`` for a code - quotation, (e.g. ``[ int : int : [] -> int : [] ]``). -- ``lambda (arg) (ret)`` is a shortcut for - ``[ (arg) : [] -> (ret) : [] ]``. - -Meta type variables -~~~~~~~~~~~~~~~~~~~ - -The typing rules introduce meta type variables. To be clear, this has -nothing to do with polymorphism, which Michelson does not have. These -variables only live at the specification level, and are used to express -the consistency between the parts of the program. For instance, the -typing rule for the ``IF`` construct introduces meta variables to -express that both branches must have the same type. - -Here are the notations for meta type variables: - -- ``'a`` for a type variable. -- ``'A`` for a stack type variable. -- ``_`` for an anonymous type or stack type variable. - -Typing rules -~~~~~~~~~~~~ - -The system is syntax directed, meaning that it defines a single -typing rule for each syntax construct. A typing rule restricts the type -of input stacks that are authorized for this syntax construct, links the -output type to the input type, and links both of them to the -subexpressions when needed, using meta type variables. - -Typing rules are of the form: - -:: - - (syntax pattern) - :: (type of stack before) -> (type of stack after) [rule-name] - iff (premises) - -Where premises are typing requirements over subprograms or values in the -stack, both of the form ``(x) :: (type)``, meaning that value ``(x)`` -must have type ``(type)``. - -A program is shown well-typed if one can find an instance of a rule that -applies to the toplevel program expression, with all meta type variables -replaced by non variable type expressions, and of which all type -requirements in the premises can be proven well-typed in the same -manner. For the reader unfamiliar with formal type systems, this is -called building a typing derivation. - -Here is an example typing derivation on a small program that computes -``(x+5)*10`` for a given input ``x``, obtained by instantiating the -typing rules for instructions ``PUSH``, ``ADD`` and for the sequence, as -found in the next sections. When instantiating, we replace the ``iff`` -with ``by``. - -:: - - { PUSH nat 5 ; ADD ; PUSH nat 10 ; MUL } - :: [ nat : [] -> nat : [] ] - by { PUSH nat 5 ; ADD } - :: [ nat : [] -> nat : [] ] - by PUSH nat 5 - :: [ nat : [] -> nat : nat : [] ] - by 5 :: nat - and ADD - :: [ nat : nat : [] -> nat : [] ] - and { PUSH nat 10 ; MUL } - :: [ nat : [] -> nat : [] ] - by PUSH nat 10 - :: [ nat : [] -> nat : nat : [] ] - by 10 :: nat - and MUL - :: [ nat : nat : [] -> nat : [] ] - -Producing such a typing derivation can be done in a number of manners, -such as unification or abstract interpretation. In the implementation of -Michelson, this is done by performing a recursive symbolic evaluation of -the program on an abstract stack representing the input type provided by -the programmer, and checking that the resulting symbolic stack is -consistent with the expected result, also provided by the programmer. - -.. _type_normalization: -.. _type_normalization_quebec: - -Type normalization -~~~~~~~~~~~~~~~~~~ - -For convenience, Michelson developers can use some compact type notations for types that do not exist in the language implementation. -These are just shorthands that are expanded into existing types during the so-called "type normalization". - -Currently, the only such notation concerns N-ary pairs (also called tuples), which are expanded into "right combs", that is, nested binary pairs with right associativity. -See `type pair `__ for details. - -The node RPC ``/helpers/script/normalize_type`` is available to normalize a given Michelson type (see :doc:`../api/openapi`, within the protocol-dependent RPCs). -This RPC is intended for tool developers wanting to support the type shorthands in their tools without reimplementing their normalization. -However, one side effect of this RPC is the stripping of :ref:`annotations `. -As a consequence, a tool needing to preserve annotations on shorthand data types should implement its own type normalization instead of relying on this RPC. - -Side note -~~~~~~~~~ - -As with most type systems, it is incomplete. There are programs that -cannot be given a type in this type system, yet that would not go wrong -if executed. This is a necessary compromise to make the type system -usable. Also, it is important to remember that the implementation of -Michelson does not accept as many programs as the type system describes -as well-typed. This is because the implementation uses a simple single -pass typechecking algorithm, and does not handle any form of -polymorphism. - -Types and instructions ----------------------- - -The complete sets of Michelson types and instructions are detailed in the -`interactive Michelson reference page `__. - -- Specifically, it contains synthesis tables for `types `__ - and for `instructions `_. -- Instructions are also organized by `categories `__. -- Each instruction is precisely defined using typing and semantic inference rules. - -Removed instructions and types ------------------------------- - -:doc:`../protocols/005_babylon` deprecated the following instructions. Because no smart -contract used these on Mainnet before they got deprecated, they have been -removed. The Michelson type-checker will reject any contract using them. - -- ``CREATE_CONTRACT { parameter 'p ; storage 'g ; code ... }``: - Forge a new contract from a literal. - - :: - - Γ ⊢ CREATE_CONTRACT { parameter 'p ; storage 'g ; code ... } - :: key_hash : option key_hash : bool : bool : mutez : 'g : 'S - ⇒ operation : address : 'S - - There is a new version of this instruction, see its `documentation `__. - -- ``CREATE_ACCOUNT``: Forge an account creation operation. - - :: - - Γ ⊢ CREATE_ACCOUNT :: key_hash : option key_hash : bool : mutez : 'S - ⇒ operation : address : 'S - - Takes as argument the manager, optional delegate, the delegatable flag - and finally the initial amount taken from the currently executed - contract. This instruction originates a contract with two entrypoints; - ``%default`` of type ``unit`` that does nothing and ``%do`` of type - ``lambda unit (list operation)`` that executes and returns the - parameter if the sender is the contract's manager. - -- ``STEPS_TO_QUOTA``: Push the remaining steps before the contract - execution must terminate. - - :: - - Γ ⊢ STEPS_TO_QUOTA :: 'S ⇒ nat : 'S - -:doc:`../protocols/016_mumbai` deprecated the following -type. Because no smart contract used it on Mainnet before it got -deprecated, it has been removed. The Michelson type-checker will -reject any contract using it. - -- ``tx_rollup_l2_address``: An address used to identify an account in - a transaction rollup ledger. It is the hash of a BLS public key, - used to authenticate layer-2 operations to transfer tickets from - this account. - -Macros ------- - -In addition to the instructions listed in the `interactive Michelson reference manual `__, -several extensions have been added to the language's concrete syntax. If you are -interacting with the node via RPC, bypassing the client, which expands away -these macros, you will need to desugar them yourself. - -These macros are designed to be unambiguous and reversible, meaning that -errors are reported in terms of desugared syntax. Below you'll see -these macros defined in terms of other syntactic forms. That is how -these macros are seen by the node. - -Compare -~~~~~~~ - -Syntactic sugar exists for merging ``COMPARE`` and comparison -combinators, and also for branching. - -- ``CMP{EQ|NEQ|LT|GT|LE|GE}`` - -:: - - > CMP(\op) / S => COMPARE ; (\op) / S - -- ``IF{EQ|NEQ|LT|GT|LE|GE} bt bf`` - -:: - - > IF(\op) bt bf / S => (\op) ; IF bt bf / S - -- ``IFCMP{EQ|NEQ|LT|GT|LE|GE} bt bf`` - -:: - - > IFCMP(\op) / S => COMPARE ; (\op) ; IF bt bf / S - -Fail -~~~~ - -The ``FAIL`` macros is equivalent to ``UNIT; FAILWITH`` and is callable -in any context since it does not use its input stack. - -- ``FAIL`` - -:: - - > FAIL / S => UNIT; FAILWITH / S - -Assertion macros -~~~~~~~~~~~~~~~~ - -All assertion operations are syntactic sugar for conditionals with a -``FAIL`` instruction in the appropriate branch. When possible, use them -to increase clarity about illegal states. - -- ``ASSERT`` - -:: - - > ASSERT => IF {} {FAIL} - -- ``ASSERT_{EQ|NEQ|LT|LE|GT|GE}`` - -:: - - > ASSERT_(\op) => IF(\op) {} {FAIL} - -- ``ASSERT_CMP{EQ|NEQ|LT|LE|GT|GE}`` - -:: - - > ASSERT_CMP(\op) => IFCMP(\op) {} {FAIL} - -- ``ASSERT_NONE`` - -:: - - > ASSERT_NONE => IF_NONE {} {FAIL} - -- ``ASSERT_SOME`` - -:: - - > ASSERT_SOME @x => IF_NONE {FAIL} {RENAME @x} - -- ``ASSERT_LEFT`` - -:: - - > ASSERT_LEFT @x => IF_LEFT {RENAME @x} {FAIL} - -- ``ASSERT_RIGHT`` - -:: - - > ASSERT_RIGHT @x => IF_LEFT {FAIL} {RENAME @x} - -Syntactic Conveniences -~~~~~~~~~~~~~~~~~~~~~~ - -These macros are simply more convenient syntax for various common -operations. - -- ``P(\left=A|P(\left)(\right))(\right=I|P(\left)(\right))R``: A syntactic sugar - for building nested pairs. In the case of right combs, ``PAIR n`` is more efficient. - -:: - - > PA(\right)R / S => DIP ((\right)R) ; PAIR / S - > P(\left)IR / S => (\left)R ; PAIR / S - > P(\left)(\right)R => (\left)R ; DIP ((\right)R) ; PAIR / S - -A good way to quickly figure which macro to use is to mentally parse the -macro as ``P`` for pair constructor, ``A`` for left leaf and ``I`` for -right leaf. The macro takes as many elements on the stack as there are -leaves and constructs a nested pair with the shape given by its name. - -Take the macro ``PAPPAIIR`` for instance: - -:: - - P A P P A I I R - ( l, ( ( l, r ), r )) - -A typing rule can be inferred: - -:: - - PAPPAIIR - :: 'a : 'b : 'c : 'd : 'S -> (pair 'a (pair (pair 'b 'c) 'd)) - -- ``UNP(\left=A|P(\left)(\right))(\right=I|P(\left)(\right))R``: A syntactic sugar - for destructing nested pairs. These macros follow the same convention - as the previous one. - -:: - - > UNPA(\right)R / S => UNPAIR ; DIP (UN(\right)R) / S - > UNP(\left)IR / S => UNPAIR ; UN(\left)R / S - > UNP(\left)(\right)R => UNPAIR ; DIP (UN(\right)R) ; UN(\left)R / S - -- ``C[AD]+R``: A syntactic sugar for accessing fields in nested pairs. In the case of right combs, ``CAR k`` and ``CDR k`` are more efficient. - -:: - - > CA(\rest=[AD]+)R / S => CAR ; C(\rest)R / S - > CD(\rest=[AD]+)R / S => CDR ; C(\rest)R / S - -- ``CAR k``: Access the ``k`` -th part of a right comb of size ``n > k + 1``. ``CAR 0`` is equivalent to ``CAR`` and in general ``CAR k`` is equivalent to ``k`` times the ``CDR`` instruction followed by once the ``CAR`` instruction. Note that this instruction cannot access the last element of a right comb; ``CDR k`` should be used for that. - -:: - - > CAR n / S => GET (2n+1) / S - -- ``CDR k``: Access the rightmost element of a right comb of size ``k``. ``CDR 0`` is a no-op, ``CDR 1`` is equivalent to ``CDR`` and in general ``CDR k`` is equivalent to ``k`` times the ``CDR`` instruction. Note that on a right comb of size ``n > k >= 2``, ``CDR k`` will return the right comb composed of the same elements but the ``k`` leftmost ones. - -:: - - > CDR n / S => GET (2n) / S - -- ``IF_SOME bt bf``: Inspect an optional value. - -:: - - > IF_SOME bt bf / S => IF_NONE bf bt / S - -- ``IF_RIGHT bt bf``: Inspect a value of a union. - -:: - - > IF_RIGHT bt bf / S => IF_LEFT bf bt / S - -- ``SET_CAR``: Set the left field of a pair. This is equivalent to ``SWAP; UPDATE 1``. - -:: - - > SET_CAR => CDR ; SWAP ; PAIR - -- ``SET_CDR``: Set the right field of a pair. This is equivalent to ``SWAP; UPDATE 2``. - -:: - - > SET_CDR => CAR ; PAIR - -- ``SET_C[AD]+R``: A syntactic sugar for setting fields in nested - pairs. In the case of right combs, ``UPDATE n`` is more efficient. - -:: - - > SET_CA(\rest=[AD]+)R / S => - { DUP ; DIP { CAR ; SET_C(\rest)R } ; CDR ; SWAP ; PAIR } / S - > SET_CD(\rest=[AD]+)R / S => - { DUP ; DIP { CDR ; SET_C(\rest)R } ; CAR ; PAIR } / S - -- ``MAP_CAR`` code: Transform the left field of a pair. - -:: - - > MAP_CAR code => DUP ; CDR ; DIP { CAR ; code } ; SWAP ; PAIR - -- ``MAP_CDR`` code: Transform the right field of a pair. - -:: - - > MAP_CDR code => DUP ; CDR ; code ; SWAP ; CAR ; PAIR - -- ``MAP_C[AD]+R`` code: A syntactic sugar for transforming fields in - nested pairs. - -:: - - > MAP_CA(\rest=[AD]+)R code / S => - { DUP ; DIP { CAR ; MAP_C(\rest)R code } ; CDR ; SWAP ; PAIR } / S - > MAP_CD(\rest=[AD]+)R code / S => - { DUP ; DIP { CDR ; MAP_C(\rest)R code } ; CAR ; PAIR } / S - -Concrete syntax ---------------- -.. _ConcreteSyntax: -.. _ConcreteSyntax_quebec: - -The concrete language is very close to the formal notation of the -specification. Its structure is extremely simple: an expression in the -language can only be one of the five following constructs. - -1. An integer in decimal notation. -2. A character string. -3. A byte sequence in hexadecimal notation prefixed by ``0x``. -4. The application of a primitive to a sequence of expressions. -5. A sequence of expressions. - -This simple five cases notation is called :doc:`../shell/micheline`. - -In the Tezos protocol, the primitive ``constant`` with a single -character string applied has special meaning. See -:doc:`global_constants`. - -Constants -~~~~~~~~~ - -There are three kinds of constants: - -1. Integers or naturals in decimal notation. -2. Strings, with some usual escape sequences: ``\n``, ``\\``, - ``\"``. Unescaped line-breaks (both ``\n`` and ``\r``) cannot - appear in a Michelson string. Moreover, the current version of - Michelson restricts strings to be the printable subset of 7-bit - ASCII, namely characters with codes from within ``[32, 126]`` range, - plus the escaped characters mentioned above. -3. Byte sequences in hexadecimal notation, prefixed with ``0x``. - -Differences with the formal notation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The concrete syntax follows the same lexical conventions as the -specification: instructions are represented by uppercase identifiers, -type constructors by lowercase identifiers, and constant constructors -are capitalized. - -All domain specific constants are Micheline constants with specific -formats. Some have two variants accepted by the data type checker: a -readable one in a string, and an optimized one using a more compact -encoding. - -- ``mutez`` amounts are written as naturals. -- ``timestamp``\ s are written either using ``RFC3339`` notation - in a string (readable), or as the number of seconds since Epoch - (when positive) or before Epoch (when negative) (optimized). -- ``contract``\ s, ``address``\ es, ``key``\ s and ``signature``\ s - are written as strings, in their usual Base58 encoded versions - (readable), or as their raw bytes (optimized). -- ``bls12_381_g1``\ s and ``bls12_381_g2``\ s are written as their raw bytes, using a big-endian point encoding, `as specified here `__. -- ``bls12_381_fr``\ s are written as their raw bytes, using a little-endian encoding. - -The optimized versions should not reach the RPCs, the protocol code -will convert to optimized by itself when forging operations, storing -to the database, and before hashing to get a canonical representation -of a datum for a given type. - -To prevent errors, control flow primitives that take instructions as -parameters require sequences in the concrete syntax. - -:: - - IF { instr1_true ; instr2_true ; ... } - { instr1_false ; instr2_false ; ... } - -.. _syntax_of_scripts: -.. _syntax_of_scripts_quebec: - -Main program structure -~~~~~~~~~~~~~~~~~~~~~~ - -The toplevel of a smart contract file must be an un-delimited sequence -of three primitive applications (in no particular order) that provide its -``code``, ``parameter`` and ``storage`` fields. - -See the next section for a concrete example. - -.. _annotations: -.. _annotations_quebec: - -Annotations ------------ - -The annotation mechanism of Michelson provides ways to better track -data on the stack and to give additional type constraints. Except for -a single exception specified just after, annotations are only here to -add constraints, *i.e.* they cannot turn an otherwise rejected program -into an accepted one. The notable exception to this rule is for -entrypoints: the semantics of the ``CONTRACT`` and ``SELF`` instructions vary depending on -their constructor annotations, and some contract origination may fail due -to invalid entrypoint constructor annotations. - -Stack visualization tools like the Michelson's Emacs mode print -annotations associated with each type in the program, as propagated by -the typechecker as well as variable annotations on the types of elements -in the stack. This is useful as a debugging aid. - -We distinguish three kinds of annotations: - -- type annotations, written ``:type_annot``, -- variable annotations, written ``@var_annot``, -- and field or constructors annotations, written ``%field_annot``. - -Note that all annotations are stripped during :ref:`type normalization `. - -Type annotations -~~~~~~~~~~~~~~~~ - -Each type can be annotated with at most one type annotation. They are -used to give names to types. For types to be equal, their unnamed -version must be equal and their names must be the same or at least one -type must be unnamed. - -For instance, the following Michelson program which put its integer -parameter in the storage is not well typed: - -.. code-block:: michelson - - parameter (int :p) ; - storage (int :s) ; - code { UNPAIR ; SWAP ; DROP ; NIL operation ; PAIR } - -Whereas this one is: - -.. code-block:: michelson - - parameter (int :p) ; - storage int ; - code { UNPAIR ; SWAP ; DROP ; NIL operation ; PAIR } - -Inner components of composed typed can also be named. - -:: - - (pair :point (int :x_pos) (int :y_pos)) - -Push-like instructions, that act as constructors, can also be given a -type annotation. The stack type will then have on top a type with a corresponding name. - -:: - - UNIT :t - :: 'A -> (unit :t) : 'A - - PAIR :t - :: 'a : 'b : 'S -> (pair :t 'a 'b) : 'S - - SOME :t - :: 'a : 'S -> (option :t 'a) : 'S - - NONE :t 'a - :: 'S -> (option :t 'a) : 'S - - LEFT :t 'b - :: 'a : 'S -> (or :t 'a 'b) : 'S - - RIGHT :t 'a - :: 'b : 'S -> (or :t 'a 'b) : 'S - - NIL :t 'a - :: 'S -> (list :t 'a) : 'S - - EMPTY_SET :t 'elt - :: 'S -> (set :t 'elt) : 'S - - EMPTY_MAP :t 'key 'val - :: 'S -> (map :t 'key 'val) : 'S - - EMPTY_BIG_MAP :t 'key 'val - :: 'S -> (big_map :t 'key 'val) : 'S - - -A no-op instruction ``CAST`` ensures the top of the stack has the -specified type, and change its type if it is compatible. In particular, -this allows to change or remove type names explicitly. - -:: - - CAST 'b - :: 'a : 'S -> 'b : 'S - iff 'a = 'b - - > CAST t / a : S => a : S - - -Variable annotations -~~~~~~~~~~~~~~~~~~~~ - -Variable annotations can only be used on instructions that produce -elements on the stack. An instruction that produces ``n`` elements on -the stack can be given at most ``n`` variable annotations. - -The stack type contains both the types of each element in the stack, as -well as an optional variable annotation for each element. In this -sub-section we note: - -- ``[]`` for the empty stack, -- ``@annot (top) : (rest)`` for the stack whose first value has type ``(top)`` and is annotated with variable annotation ``@annot`` and whose queue has stack type ``(rest)``. - -The instructions which do not accept any variable annotations are: - -:: - - DROP - SWAP - DIG - DUG - IF_NONE - IF_LEFT - IF_CONS - ITER - IF - LOOP - LOOP_LEFT - DIP - FAILWITH - -The instructions which accept at most one variable annotation are: - -:: - - DUP - PUSH - UNIT - SOME - NONE - PAIR - CAR - CDR - LEFT - RIGHT - NIL - CONS - SIZE - MAP - MEM - EMPTY_SET - EMPTY_MAP - EMPTY_BIG_MAP - UPDATE - GET - LAMBDA - LAMBDA_REC - EXEC - ADD - SUB - CONCAT - MUL - OR - AND - XOR - NOT - ABS - ISNAT - INT - NEG - EDIV - LSL - LSR - COMPARE - EQ - NEQ - LT - GT - LE - GE - ADDRESS - CONTRACT - SET_DELEGATE - IMPLICIT_ACCOUNT - NOW - LEVEL - AMOUNT - BALANCE - HASH_KEY - CHECK_SIGNATURE - BLAKE2B - SOURCE - SENDER - SELF - SELF_ADDRESS - CAST - RENAME - CHAIN_ID - NAT - BYTES - -The instructions which accept at most two variable annotations are: - -:: - - UNPAIR - CREATE_CONTRACT - -Annotations on instructions that produce multiple elements on the stack -will be used in order, where the first variable annotation is given to -the top-most element on the resulting stack. Instructions that produce -``n`` elements on the stack but are given less than ``n`` variable -annotations will see only their top-most stack type elements annotated. - -:: - - UNPAIR @first @second - :: pair 'a 'b : 'S - -> @first 'a : @second 'b : 'S - - UNPAIR @first - :: pair 'a 'b : 'S - -> @first 'a : 'b : 'S - -A no-op instruction ``RENAME`` allows to rename variables in the stack -or to erase variable annotations in the stack. - -:: - - RENAME @new - :: @old 'a ; 'S -> @new 'a : 'S - - RENAME - :: @old 'a ; 'S -> 'a : 'S - - -Field and constructor annotations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Components of pair types, option types and or types can be annotated -with a field or constructor annotation. This feature is useful to encode -records fields and constructors of sum types. - -:: - - (pair :point - (int %x) - (int %y)) - -The previous Michelson type can be used as visual aid to represent the -record type (given in OCaml-like syntax): - -:: - - type point = { x : int ; y : int } - -Similarly, - -:: - - (or :t - (int %A) - (or - (bool %B) - (pair %C - (nat %n1) - (nat %n2)))) - -can be used to represent the algebraic data type (in OCaml-like syntax): - -:: - - type t = - | A of int - | B of bool - | C of { n1 : nat ; n2 : nat } - - -Field annotations are part of the type (at the same level as type name -annotations), and so types with differing field names (if present) are -not considered equal. - -Instructions that construct elements of composed types can also be -annotated with one or multiple field annotations (in addition to type -and variable annotations). - -:: - - PAIR %fst %snd - :: 'a : 'b : 'S -> (pair ('a %fst) ('b %snd)) : 'S - - LEFT %left %right 'b - :: 'a : 'S -> (or ('a %left) ('b %right)) : 'S - - RIGHT %left %right 'a - :: 'b : 'S -> (or ('a %left) ('b %right)) : 'S - -To improve readability and robustness, instructions ``CAR`` and ``CDR`` -accept one field annotation. For the contract to type check, the name of -the accessed field in the destructed pair must match the one given here. - -:: - - CAR %fst - :: (pair ('a %fst) 'b) : S -> 'a : 'S - - CDR %snd - :: (pair 'a ('b %snd)) : S -> 'b : 'S - - -Syntax -~~~~~~ - -Primitive applications can receive one or many annotations. - -An annotation is a sequence of characters that matches the regular -expression ``@%|@%%|%@|[@:%][_0-9a-zA-Z][_0-9a-zA-Z\.%@]*``. -Note however that ``@%``, ``@%%`` and ``%@`` are -:ref:`special annotations ` and are not allowed everywhere. - -Annotations come after the primitive name and before its potential arguments. - -:: - - (prim @v :t %x arg1 arg2 ...) - - -Ordering between different kinds of annotations is not significant, but -ordering among annotations of the same kind is. Annotations of the same -kind must be grouped together. - -For instance these two annotated instructions are equivalent: - -:: - - PAIR :t @my_pair %x %y - - PAIR %x %y :t @my_pair - -An annotation can be empty, in this case it will mean *no annotation* -and can be used as a wildcard. For instance, it is useful to annotate -only the right field of a pair instruction ``PAIR % %right`` or to -ignore field access constraints, *e.g.* in the macro ``UNPPAIPAIR %x1 % -%x3 %x4``. - -Annotations and macros -~~~~~~~~~~~~~~~~~~~~~~ - -Macros also support annotations, which are propagated on their expanded -forms. As with instructions, macros that produce ``n`` values on the -stack accept ``n`` variable annotations. - -:: - - DUU+P @annot - > DUU(\rest=U*)P @annot / S => DIP (DU(\rest)P @annot) ; SWAP / S - - C[AD]+R @annot %field_name - > CA(\rest=[AD]+)R @annot %field_name / S => CAR ; C(\rest)R @annot %field_name / S - > CD(\rest=[AD]+)R @annot %field_name / S => CDR ; C(\rest)R @annot %field_name / S - - CMP{EQ|NEQ|LT|GT|LE|GE} @annot - > CMP(\op) @annot / S => COMPARE ; (\op) @annot / S - -The variable annotation on ``SET_C[AD]+R`` and ``MAP_C[AD]+R`` annotates -the resulting toplevel pair while its field annotation is used to check -that the modified field is the expected one. - -:: - - SET_C[AD]+R @var %field - > SET_CAR @var %field => CDR %field ; SWAP ; PAIR @var - > SET_CDR @var %field => CAR %field ; PAIR @var - > SET_CA(\rest=[AD]+)R @var %field / S => - { DUP ; DIP { CAR ; SET_C(\rest)R %field } ; CDR ; SWAP ; PAIR @var } / S - > SET_CD(\rest=[AD]+)R @var %field/ S => - { DUP ; DIP { CDR ; SET_C(\rest)R %field } ; CAR ; PAIR @var } / S - - MAP_C[AD]+R @var %field code - > MAP_CAR code => DUP ; CDR ; DIP { CAR %field ; code } ; SWAP ; PAIR @var - > MAP_CDR code => DUP ; CDR %field ; code ; SWAP ; CAR ; PAIR @var - > MAP_CA(\rest=[AD]+)R @var %field code / S => - { DUP ; DIP { CAR ; MAP_C(\rest)R %field code } ; CDR ; SWAP ; PAIR @var} / S - > MAP_CD(\rest=[AD]+)R @var %field code / S => - { DUP ; DIP { CDR ; MAP_C(\rest)R %field code } ; CAR ; PAIR @var} / S - -Macros for nested ``PAIR`` accept multiple annotations. Field -annotations for ``PAIR`` give names to leaves of the constructed -nested pair, in order. This next snippet gives examples instead of -generic rewrite rules for readability purposes. - -:: - - PAPPAIIR @p %x1 %x2 %x3 %x4 - :: 'a : 'b : 'c : 'd : 'S - -> @p (pair ('a %x1) (pair (pair ('b %x) ('c %x3)) ('d %x4))) : 'S - - PAPAIR @p %x1 %x2 %x3 - :: 'a : 'b : 'c : 'S -> @p (pair ('a %x1) (pair ('b %x) ('c %x3))) : 'S - -Annotations for nested ``UNPAIR`` are deprecated. - -Automatic variable and field annotations inferring -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -When no annotation is provided by the Michelson programmer, the -typechecker infers some annotations in specific cases. This greatly -helps users track information in the stack for bare contracts. - -For unannotated accesses with ``CAR`` and ``CDR`` to fields that are -named will be appended (with an additional ``.`` character) to the pair -variable annotation. - -:: - - CDAR - :: @p (pair ('a %foo) (pair %bar ('b %x) ('c %y))) : 'S -> @p.bar.x 'b : 'S - -If fields are not named but the pair is still named in the stack then -``.car`` or ``.cdr`` will be appended. - -:: - - CDAR - :: @p (pair 'a (pair 'b 'c)) : 'S -> @p.cdr.car 'b : 'S - -If the original pair is not named in the stack, but a field annotation -is present in the pair type the accessed value will be annotated with a -variable annotation corresponding to the field annotation alone. - -:: - - CDAR - :: (pair ('a %foo) (pair %bar ('b %x) ('c %y))) : 'S -> @bar.x 'b : 'S - -A similar mechanism is used for context dependent instructions: - -:: - - ADDRESS :: @c contract _ : 'S -> @c.address address : 'S - - CONTRACT 'p :: @a address : 'S -> @a.contract contract 'p : 'S - - BALANCE :: 'S -> @balance mutez : 'S - - SOURCE :: 'S -> @source address : 'S - - SENDER :: 'S -> @sender address : 'S - - SELF :: 'S -> @self contract 'p : 'S - - SELF_ADDRESS :: 'S -> @self address : 'S - - AMOUNT :: 'S -> @amount mutez : 'S - - NOW :: 'S -> @now timestamp : 'S - - LEVEL :: 'S -> @level nat : 'S - -Inside nested code blocks, bound items on the stack will be given a -default variable name annotation depending on the instruction and stack -type (which can be changed). For instance the annotated typing rule for -``ITER`` on lists is: - -:: - - ITER body - :: @l (list 'e) : 'A -> 'A - iff body :: [ @l.elt e' : 'A -> 'A ] - -Special annotations -~~~~~~~~~~~~~~~~~~~ -.. _SpecialAnnotations: -.. _SpecialAnnotations_quebec: - -The special variable annotations ``@%`` and ``@%%`` can be used on instructions -``CAR``, ``CDR``, and ``UNPAIR``. It means to use the accessed field name (if any) as -a name for the value on the stack. The following typing rule -demonstrates their use for instruction ``CAR``. - -:: - - CAR @% - :: @p (pair ('a %fst) ('b %snd)) : 'S -> @fst 'a : 'S - - CAR @%% - :: @p (pair ('a %fst) ('b %snd)) : 'S -> @p.fst 'a : 'S - -The special field annotation ``%@`` can be used on instructions -``PAIR``, ``LEFT`` and ``RIGHT``. It means to use the variable -name annotation in the stack as a field name for the constructed -element. Two examples with ``PAIR`` follows, notice the special -treatment of annotations with ``.``. - -:: - - PAIR %@ %@ - :: @x 'a : @y 'b : 'S -> (pair ('a %x) ('b %y)) : 'S - - PAIR %@ %@ - :: @p.x 'a : @p.y 'b : 'S -> @p (pair ('a %x) ('b %y)) : 'S - :: @p.x 'a : @q.y 'b : 'S -> (pair ('a %x) ('b %y)) : 'S - -Entrypoints ------------ - -The specification up to this point has been mostly ignoring existence -of entrypoints: a mechanism of contract level polymorphism. This -mechanism is optional, non intrusive, and transparent to smart -contracts that don't use them. This section is to be read as a patch -over the rest of the specification, introducing rules that apply only -in presence of contracts that make use of entrypoints. - -Defining and calling entrypoints -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Entrypoints piggyback on the constructor annotations. A contract with -entrypoints is basically a contract that takes a disjunctive type (a -nesting of ``or`` types) as the root of its input parameter, decorated -with constructor annotations. An extra check is performed on these -constructor annotations: a contract cannot define two entrypoints with -the same name. - -An external transaction can include an entrypoint name alongside the -parameter value. In that case, if there is a constructor annotation -with this name at any position in the nesting of ``or`` types, the -value is automatically wrapped into the according constructors. If the -transaction specifies an entrypoint, but there is no such constructor -annotation, the transaction fails. - -For instance, suppose the following input type. - -``parameter (or (or (nat %A) (bool %B)) (or %maybe_C (unit %Z) (string %C)))`` - -The input values will be wrapped as in the following examples. - -:: - - +------------+-----------+---------------------------------+ - | entrypoint | input | wrapped input | - +------------+-----------+---------------------------------+ - | %A | 3 | Left (Left 3) | - | %B | False | Left (Right False) | - | %C | "bob" | Right (Right "bob") | - | %Z | Unit | Right (Left Unit) | - | %maybe_C | Right "x" | Right (Right "x") | - | %maybe_C | Left Unit | Right (Left Unit) | - +------------+-----------+---------------------------------+ - | not given | value | value (untouched) | - | %BAD | _ | failure, contract not called | - +------------+-----------+---------------------------------+ - -The ``default`` entrypoint -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A special semantics is assigned to the ``default`` entrypoint. If the -contract does not explicitly declare a ``default`` entrypoint, then it -is automatically assigned to the root of the parameter -type. Conversely, if the contract is called without specifying an -entrypoint, then it is assumed to be called with the ``default`` -entrypoint. This behaviour makes the entrypoint system completely -transparent to contracts that do not use it. - -This is the case for the previous example, for instance. If a value is -passed to such a contract specifying entrypoint ``default``, then the -value is fed to the contract untouched, exactly as if no entrypoint -was given. - -A non enforced convention is to make the entrypoint ``default`` of -type unit, and to implement the crediting operation (just receive the -transferred tokens). - -A consequence of this semantics is that if the contract uses the -entrypoint system and defines a ``default`` entrypoint somewhere else -than at the root of the parameter type, then it must provide an -entrypoint for all the paths in the toplevel disjunction. Otherwise, -some parts of the contracts would be dead code. - -Another consequence of setting the entrypoint somewhere else than at -the root is that it makes it impossible to send the raw values of the -full parameter type to a contract. A trivial solution for that is to -name the root of the type. The conventional name for that is ``root``. - -Let us recapitulate this by tweaking the names of the previous example. - -``parameter (or %root (or (nat %A) (bool %B)) (or (unit %default) string))`` - -The input values will be wrapped as in the following examples. - -:: - - +------------+---------------------+-----------------------+ - | entrypoint | input | wrapped input | - +------------+---------------------+-----------------------+ - | %A | 3 | Left (Left 3) | - | %B | False | Left (Right False) | - | %default | Unit | Right (Left Unit) | - | %root | Right (Right "bob") | Right (Right "bob") | - +------------+---------------------+-----------------------+ - | not given | Unit | Right (Left Unit) | - | %BAD | _ | failure, contract not | - +------------+---------------------+-----------------------+ - -Calling entrypoints from Michelson -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Michelson code can also produce transactions to a specific entrypoint. - -For this, both types ``address`` and ``contract`` have the ability to -denote not just an address, but a pair of an address and an -entrypoint. The concrete notation is ``"address%entrypoint"``. -Note that ``"address"`` is strictly equivalent to ``"address%default"``, -and for clarity, the second variant is forbidden in the concrete syntax. - -When the ``TRANSFER_TOKENS`` instruction is called, it places the -entrypoint provided in the contract handle in the transaction. - -The ``CONTRACT t`` instruction has a variant ``CONTRACT %entrypoint -t``, that works as follows. Note that ``CONTRACT t`` is strictly -equivalent to ``CONTRACT %default t``, and for clarity, the second -variant is forbidden in the concrete syntax. - -:: - - +---------------+---------------------+------------------------------------------+ - | input address | instruction | output contract | - +---------------+---------------------+------------------------------------------+ - | "addr" | CONTRACT t | (Some "addr") if contract exists, has a | - | | | default entrypoint of type t, or has no | - | | | default entrypoint and parameter type t | - +---------------+---------------------+------------------------------------------+ - | "addr%name" | CONTRACT t | (Some "addr%name") if addr exists and | - +---------------+---------------------+ has an entrypoint %name of type t | - | "addr" | CONTRACT %name t | | - +---------------+---------------------+------------------------------------------+ - | "addr%_" | CONTRACT %_ t | None | - +---------------+---------------------+------------------------------------------+ - -Similarly, the ``SELF`` instruction has a variant ``SELF %entrypoint``, -that is only well-typed if the current contract has an entrypoint named ``%entrypoint``. - -- ``SELF %entrypoint`` - -:: - - :: 'S -> contract 'p : 'S - where contract 'p is the type of the entrypoint %entrypoint of the current contract - -User accounts are considered to have a single ``default`` -entrypoint of type ``Unit``. - -JSON syntax ------------ - -Micheline expressions are encoded in JSON like this: - -- An integer ``N`` is an object with a single field ``"int"`` whose - value is the decimal representation as a string. - - ``{ "int": "N" }`` - -- A string ``"contents"`` is an object with a single field ``"string"`` - whose value is the decimal representation as a string. - - ``{ "string": "contents" }`` - -- A sequence is a JSON array. - - ``[ expr, ... ]`` - -- A primitive application is an object with two fields ``"prim"`` for - the primitive name and ``"args"`` for the arguments (that must - contain an array). A third optional field ``"annots"`` contains a - list of annotations, including their leading ``@``, ``%`` or ``:`` - sign. - - ``{ "prim": "pair", "args": [ { "prim": "nat", "args": [] }, { "prim": "nat", "args": [] } ], "annots": [":t"] }`` - -As in the concrete syntax, all domain specific constants are encoded as -strings. - -Development tools ------------------ - -To ease the development of Michelson scripts, some tools are provided -to Michelson developers. - -Emacs mode -~~~~~~~~~~ - -`Emacs `_ can be used as a practical environment for writing, -editing and debugging Michelson programs. `Install it `_ and follow the -configuration instructions in the Michelson Emacs README `here `__. - -Interactive toplevel -~~~~~~~~~~~~~~~~~~~~ - -An interactive Michelson toplevel (also known as a `REPL -`__) -built on the :doc:`../user/mockup` mode of Octez client is available in -``scripts/michelson_repl.sh``, the typical usage is: - -:: - - $ octez-client --mode mockup --base-dir /tmp/mockup create mockup - $ rlwrap scripts/michelson_repl.sh - > UNIT - { Stack_elt unit Unit } - > UNIT - { Stack_elt unit Unit ; Stack_elt unit Unit } - > COMPARE - { Stack_elt int 0 } - -Examples --------- - -Contracts in the system are stored as a piece of code and a global data -storage. The type of the global data of the storage is fixed for each -contract at origination time. This is ensured statically by checking on -origination that the code preserves the type of the global data. For -this, the code of the contract is checked to be of type -``lambda (pair 'arg 'global) -> (pair (list operation) 'global)`` where -``'global`` is the type of the original global store given on origination. -The contract also takes a parameter and returns a list of internal operations, -hence the complete calling convention above. The internal operations are -queued for execution when the contract returns. - -Empty contract -~~~~~~~~~~~~~~ - -The simplest contract is the contract for which the ``parameter`` and -``storage`` are all of type ``unit``. This contract is as follows: - -.. code-block:: michelson - - code { CDR ; # keep the storage - NIL operation ; # return no internal operation - PAIR }; # respect the calling convention - storage unit; - parameter unit; - - -Example contract with entrypoints -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following contract maintains a number in its storage. It has two -entrypoints ``add`` and ``sub`` to modify it, and the default -entrypoint, of type ``unit`` will reset it to ``0``. - -:: - - { parameter (or (or (nat %add) (nat %sub)) (unit %default)) ; - storage int ; - code { AMOUNT ; PUSH mutez 0 ; ASSERT_CMPEQ ; UNPAIR ; - IF_LEFT - { IF_LEFT { ADD } { SWAP ; SUB } } - { DROP ; DROP ; PUSH int 0 } ; - NIL operation ; PAIR } } - - -Example contract with recursive lambda -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following contract computes the factorial of the given parameter -using a recursive function and then saves the result in the storage. - -In Michelson regular functions start with a stack containing a single -value, the function argument. If the function is of type ``lambda int -int``, when calling the function the stack will have just an -``int``. Recursive functions start with two values, the argument and -the function itself. Therefore, if the recursive function is of type -``lambda int int`` then, when it is being called, the stack will have -an ``int`` at the top and a ``lambda int int`` at the bottom. - -In this recursive factorial we can see the first branch of the ``IF``, -this is the base case. The second one performs the recursive call. To -do that, we need to access the function. This is what the ``DUP 3`` -instruction does. Then we decrement the argument and finally make the -recursive call with ``EXEC``. - -:: - - { parameter int; - storage int; - code { CAR ; - LAMBDA_REC int int - { DUP; - EQ; - IF { PUSH int 1 } - { DUP; - DUP 3; - PUSH int 1; - DUP 4; - SUB; - EXEC; - MUL}; - DIP { DROP 2 }}; - SWAP; - EXEC; - NIL operation; - PAIR}} - -Multisig contract -~~~~~~~~~~~~~~~~~ - -The multisig is a typical access control contract. The ownership of -the multisig contract is shared between ``N`` participants represented -by their public keys in the contract's storage. Any action on the -multisig contract needs to be signed by ``K`` participants where the -threshold ``K`` is also stored in the storage. - -To avoid replay of the signatures sent to the contract, the signed -data include not only a description of the action to perform but also -the address of the multisig contract and a counter that gets -incremented at each successful call to the contract. - -The multisig commands of :ref:`Octez command line client ` -use this -smart contract. Moreover, `functional correctness of this contract has -been verified -`__ -using the Coq proof assistant. - - -.. code-block:: michelson - - parameter (pair - (pair :payload - (nat %counter) # counter, used to prevent replay attacks - (or :action # payload to sign, represents the requested action - (pair :transfer # transfer tokens - (mutez %amount) # amount to transfer - (contract %dest unit)) # destination to transfer to - (or - (option %delegate key_hash) # change the delegate to this address - (pair %change_keys # change the keys controlling the multisig - (nat %threshold) # new threshold - (list %keys key))))) # new list of keys - (list %sigs (option signature))); # signatures - - storage (pair (nat %stored_counter) (pair (nat %threshold) (list %keys key))) ; - - code - { - UNPAIR ; SWAP ; DUP ; DIP { SWAP } ; - DIP - { - UNPAIR ; - # pair the payload with the current contract address, to ensure signatures - # can't be replayed across different contracts if a key is reused. - DUP ; SELF ; ADDRESS ; CHAIN_ID ; PAIR ; PAIR ; - PACK ; # form the binary payload that we expect to be signed - DIP { UNPAIR @counter ; DIP { SWAP } } ; SWAP - } ; - - # Check that the counters match - UNPAIR @stored_counter; DIP { SWAP }; - ASSERT_CMPEQ ; - - # Compute the number of valid signatures - DIP { SWAP } ; UNPAIR @threshold @keys; - DIP - { - # Running count of valid signatures - PUSH @valid nat 0; SWAP ; - ITER - { - DIP { SWAP } ; SWAP ; - IF_CONS - { - IF_SOME - { SWAP ; - DIP - { - SWAP ; DIIP { DIP { DUP } ; SWAP } ; - # Checks signatures, fails if invalid - CHECK_SIGNATURE ; ASSERT ; - PUSH nat 1 ; ADD @valid } } - { SWAP ; DROP } - } - { - # There were fewer signatures in the list - # than keys. Not all signatures must be present, but - # they should be marked as absent using the option type. - FAIL - } ; - SWAP - } - } ; - # Assert that the threshold is less than or equal to the - # number of valid signatures. - ASSERT_CMPLE ; - DROP ; DROP ; - - # Increment counter and place in storage - DIP { UNPAIR ; PUSH nat 1 ; ADD @new_counter ; PAIR} ; - - # We have now handled the signature verification part, - # produce the operation requested by the signers. - NIL operation ; SWAP ; - IF_LEFT - { # Transfer tokens - UNPAIR ; UNIT ; TRANSFER_TOKENS ; CONS } - { IF_LEFT { - # Change delegate - SET_DELEGATE ; CONS } - { - # Change set of signatures - DIP { SWAP ; CAR } ; SWAP ; PAIR ; SWAP }} ; - PAIR } - -Views -~~~~~ - -Here is an example using views, consisting of two contracts. -The first contract defines two views at toplevel that are named ``add_v`` and ``mul_v``. - -:: - - { parameter nat; - storage nat; - code { CAR; NIL operation ; PAIR }; - view "add_v" nat nat { UNPAIR; ADD }; - view "mul_v" nat nat { UNPAIR; MUL }; - } - - -The second contract calls the ``add_v`` view of the above contract and obtains a result immediately. - -:: - - { parameter (pair nat address) ; - storage nat ; - code { CAR ; UNPAIR; VIEW "add_v" nat ; - IF_SOME { } { FAIL }; NIL operation; PAIR }; } - - - -Full grammar ------------- - -:: - - ::= - | - | - | - | Unit - | True - | False - | Pair ... - | Left - | Right - | Some - | None - | Lambda_rec - | { ; ... } - | { Elt ; ... } - | instruction - ::= - | [0-9]+ - ::= - | - | - - ::= - | "*" - ::= - | \" - | \r - | \n - | \t - | \b - | \\ - | [^"\] - ::= - | 0x[0-9a-fA-F]+ - ::= - | { ... } - | DROP - | DROP - | DUP - | DUP - | SWAP - | DIG - | DUG - | PUSH - | SOME - | NONE - | UNIT - | NEVER - | IF_NONE { ... } { ... } - | PAIR - | PAIR - | CAR - | CDR - | UNPAIR - | UNPAIR - | LEFT - | RIGHT - | IF_LEFT { ... } { ... } - | NIL - | CONS - | IF_CONS { ... } { ... } - | SIZE - | EMPTY_SET - | EMPTY_MAP - | EMPTY_BIG_MAP - | MAP { ... } - | ITER { ... } - | MEM - | GET - | GET - | UPDATE - | UPDATE - | IF { ... } { ... } - | LOOP { ... } - | LOOP_LEFT { ... } - | LAMBDA { ... } - | LAMBDA_REC { ... } - | EXEC - | APPLY - | DIP { ... } - | DIP { ... } - | FAILWITH - | CAST - | RENAME - | CONCAT - | SLICE - | PACK - | UNPACK - | ADD - | SUB - | MUL - | EDIV - | ABS - | ISNAT - | INT - | NEG - | LSL - | LSR - | OR - | AND - | XOR - | NOT - | COMPARE - | EQ - | NEQ - | LT - | GT - | LE - | GE - | SELF - | SELF_ADDRESS - | CONTRACT - | TRANSFER_TOKENS - | SET_DELEGATE - | CREATE_CONTRACT { ... } - | IMPLICIT_ACCOUNT - | VOTING_POWER - | NOW - | LEVEL - | AMOUNT - | BALANCE - | CHECK_SIGNATURE - | BLAKE2B - | KECCAK - | SHA3 - | SHA256 - | SHA512 - | HASH_KEY - | SOURCE - | SENDER - | ADDRESS - | CHAIN_ID - | TOTAL_VOTING_POWER - | PAIRING_CHECK - | SAPLING_EMPTY_STATE - | SAPLING_VERIFY_UPDATE - | TICKET - | READ_TICKET - | SPLIT_TICKET - | JOIN_TICKETS - | OPEN_CHEST - | BYTES - | NAT - ::= - | - | option - | list - | set - | operation - | contract - | ticket - | pair ... - | or - | lambda - | map - | big_map - | bls12_381_g1 - | bls12_381_g2 - | bls12_381_fr - | sapling_transaction - | sapling_state - | chest - | chest_key - ::= - | unit - | never - | bool - | int - | nat - | string - | chain_id - | bytes - | mutez - | key_hash - | key - | signature - | timestamp - | address - | option - | or - | pair ... - - -Reference implementation ------------------------- - -The language is implemented in OCaml as follows: - -- The lower internal representation is written as a GADT whose type - parameters encode exactly the typing rules given in this - specification. In other words, if a program written in this - representation is accepted by OCaml's typechecker, it is guaranteed - type-safe. This is of course also valid for programs not - handwritten but generated by OCaml code, so we are sure that any - manipulated code is type-safe. - - In the end, what remains to be checked is the encoding of the typing - rules as OCaml types, which boils down to half a line of code for - each instruction. Everything else is left to the venerable and well - trusted OCaml. - -- The interpreter is basically the direct transcription of the - rewriting rules presented above. It takes an instruction, a stack and - transforms it. OCaml's typechecker ensures that the transformation - respects the pre and post stack types declared by the GADT case for - each instruction. - - The only things that remain to be reviewed are value dependent - choices, such as we did not swap true and false when - interpreting the IF instruction. - -- The input, untyped internal representation is an OCaml ADT with - only 5 grammar constructions: ``String``, ``Int``, ``Bytes``, ``Seq`` and - ``Prim``. It is the target language for the parser, since not all - parsable programs are well typed, and thus could simply not be - constructed using the GADT. - -- The typechecker is a simple function that recognizes the abstract - grammar described in section X by pattern matching, producing the - well-typed, corresponding GADT expressions. It is mostly a checker, - not a full inferrer, and thus takes some annotations (basically the - input and output of the program, of lambdas and of uninitialized maps - and sets). It works by performing a symbolic evaluation of the - program, transforming a symbolic stack. It only needs one pass over - the whole program. - - Here again, OCaml does most of the checking, the structure of the - function is very simple, what we have to check is that we transform a - ``Prim ("If", ...)`` into an ``If``, a ``Prim ("Dup", ...)`` into a - ``Dup``, etc. - -.. _michelson_tzt: -.. _michelson_tzt_quebec: - -TZT, a Syntax extension for writing unit tests ----------------------------------------------- - -This section describes the TZT format, an extension of the Michelson -language allowing to run Michelson unit tests at a finer level than a -full smart contract script. This extension adds syntax to specify an -instruction (or sequence of instructions) to test, a concrete input -stack and the expected output stack. - -These unit tests can be useful for both smart contract developers who -need to independently test various parts of the smart contracts they -develop and to the developers of new implementations of the Michelson -interpreter who need to check that their new implementations behave as -the reference implementation by passing `a conformance test suite -`__. - -Similarly to Michelson scripts, the concrete syntax of TZT unit tests -is :doc:`../shell/micheline`. - -TZT unit test files usually have the extension ``.tzt``. A unit test -file describes a single unit test. It consists of a Micheline sequence -of primitive applications (see :doc:`../shell/micheline`), in no particular order. This is -:ref:`similar to Michelson scripts ` but -the set of primitives allowed at the toplevel differ; in Michelson -scripts, the allowed toplevel primitives are ``parameter`` -(mandatory), ``storage`` (mandatory), ``code`` (mandatory), and -``view`` (optional and repeated). For TZT unit tests, the toplevel -primitives which can be used are: - -- ``input``, -- ``code``, -- ``output``, -- ``now``, -- ``sender``, -- ``source``, -- ``chain_id``, -- ``self``, -- ``parameter``, -- ``amount``, -- ``balance``, -- ``other_contracts``, and -- ``big_maps``. - -Mandatory primitives -~~~~~~~~~~~~~~~~~~~~ - -Each of the mandatory primitives ``input``, ``code``, and ``output`` -must occur exactly once in a unit test file in no particular order. - -The ``input`` primitive is used to declare the input stack (see the -:ref:`syntax of concrete stacks `). - -The ``code`` primitive is used to declare the instruction or sequence -of instructions to execute. - -The ``output`` primitive is used to declare if the execution is -expected to succeed or fail and what result is expected from the -execution. For executions expected to succeed, the argument of the -``output`` primitive is simply the expected output stack (see the -:ref:`syntax of errors `). For executions -expected to fail, the argument is the expected error. In both cases, -the :ref:`wildcard pattern ` can -be used to omit part of the expected output. - -The simplest test which can be written asserts that executing no -instruction on the empty stack successfully returns the empty stack: - -:: - - input {}; - code {}; - output {} - -Here is a slightly more involved test which demonstrates the effect of the `SWAP -`__ instruction: - -:: - - input - { - Stack_elt nat 8 ; - Stack_elt bool False - }; - code SWAP; - output - { - Stack_elt bool False ; - Stack_elt nat 8 - } - -It is possible to test the effect of several instructions by wrapping them in a sequence: - -:: - - input - { - Stack_elt nat 8 ; - Stack_elt bool False - }; - code { SWAP ; SWAP }; - output - { - Stack_elt nat 8 ; - Stack_elt bool False - } - -Here is an example showing how to test the ``FAILWITH`` instruction: - -:: - - input {Stack_elt nat 2}; - code FAILWITH; - output (Failed 2) - -Optional primitives -~~~~~~~~~~~~~~~~~~~ - -Optional primitives are used to set the execution context for the -test. Each of the optional primitives can be used at most once, in no -particular order. - -- ``amount`` (optional, defaults to 0): the amount, expressed in - mutez, that should be pushed by the `AMOUNT - `__ - instruction - -- ``balance`` (optional, defaults to 0): the balance, expressed in - mutez, that should be pushed by the `BALANCE - `__ - instruction - -- ``now`` (optional, defaults to ``"1970-01-01T00:00:00Z"``): the - timestamp that should be pushed by the `NOW - `__ - instruction - -- ``sender`` (optional, defaults to - ``"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"``): the sender address - that should be pushed by the `SENDER - `__ - instruction - -- ``source`` (optional, defaults to - ``"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"``): the source address - that should be pushed by the `SOURCE - `__ - instruction - -- ``chain_id`` (optional, defaults to ``"NetXdQprcVkpaWU"``): the - chain identifier that should be pushed by the `CHAIN_ID - `__ - instruction - -- ``self`` (optional, defaults to - ``"KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi"``): the address that - should be pushed by the `SELF - `__ and - `SELF_ADDRESS - `__ - instructions - -- ``parameter`` (optional, defaults to ``unit``): the type of the - parameter of the contract pushed by the `SELF - `__ - instruction - -- ``other_contracts`` (optional, defaults to ``{}``): mapping between - the contract addresses that are assumed to exist and their - parameter types (see the :ref:`syntax of other contracts - specifications `) - -- ``big_maps`` (optional, defaults to ``{}``): mapping between - integers representing ``big_map`` indices and descriptions of big - maps (see the :ref:`syntax of extra big maps specifications - `) - -The following test example asserts that the default value for the `NOW -`__ -instruction is the unix epoch: - -:: - - input {}; - code NOW; - output { Stack_elt timestamp "1970-01-01T00:00:00Z" } - -The following example shows how to use the ``now`` toplevel primitive -to make the `NOW -`__ -instruction return a chosen timestamp: - -:: - - input {}; - now "2020-01-08T07:13:51Z"; - code NOW; - output { Stack_elt timestamp "2020-01-08T07:13:51Z" } - -.. _syntax_of_concrete_stacks: -.. _syntax_of_concrete_stacks_quebec: - -Syntax of concrete stacks -~~~~~~~~~~~~~~~~~~~~~~~~~ - -A concrete stack is written as a Micheline sequence whose elements are -of the form ``Stack_elt `` where ```` is a Michelson value -and ```` is its type. For example, ``{ Stack_elt bool True ; -Stack_elt nat 42 }`` is a concrete stack of length 2 whose top element -is the boolean ``True`` and the bottom element is the natural number -``42``. - -.. _omitting_parts_of_the_output: -.. _omitting_parts_of_the_output_quebec: - -Omitting parts of the output -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Any part of the ``output`` specification can be replaced with the -wildcard pattern ``_``. - -For example, let's consider the following test of the ``PAIR`` instruction: - -:: - - input {Stack_elt bool True; Stack_elt string "foo"}; - code PAIR; - output {Stack_elt (pair bool string) (Pair True "foo")} - -Omitting the ``True`` argument to the ``Pair`` primitive can be done as follows: - -:: - - input {Stack_elt bool True; Stack_elt string "foo"}; - code PAIR; - output {Stack_elt (pair bool string) (Pair _ "foo")} - -Omitting the ``Pair`` primitive: - -:: - - input {Stack_elt bool True; Stack_elt string "foo"}; - code PAIR; - output {Stack_elt (pair bool string) (_ True "foo")} - -Omitting the ``pair bool string`` type: - -:: - - input {Stack_elt bool True; Stack_elt string "foo"}; - code PAIR; - output {Stack_elt _ (Pair True "foo")} - -Omitting the resulting stack element: - -:: - - input {Stack_elt bool True; Stack_elt string "foo"}; - code PAIR; - output {_} - -Omitting all of the output: - -:: - - input {Stack_elt bool True; Stack_elt string "foo"}; - code PAIR; - output _ - -The difference between the last two examples is that ``output {_}`` -means that the instruction is expected to successfully return a stack -of length 1 while ``output _`` means that nothing in particular is -expected from the execution of the instruction, not even being -successful. - -The wildcard pattern is typically used to omit unspecified aspects of -the Michelson language when writing portable tests; in particular the -cryptographic nonces in values of type ``operation`` (see the -:ref:`syntax of concrete operations -`) or implementation-specific -parts of error outputs (see the :ref:`syntax of errors -`). - -.. _output_normalization: -.. _output_normalization_quebec: - -Output normalization -~~~~~~~~~~~~~~~~~~~~ - -The input and output stacks can use the readable and optimized formats -for Michelson values and even mix the formats; for a test to pass, the -expected output does not need to syntactically match the result of the -execution but only to match up to conversion between optimized and -readable formats; the TZT test runner is responsible for normalizing -the actual output and the expected one to common format. This means in -particular that conversion between readable and optimized formats can -be tested by using ``{}`` as the ``code`` instruction sequence to -test; for example these two tests pass: - -:: - - input {Stack_elt address 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c}; - code {}; - output {Stack_elt address "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN"} - -:: - - input {Stack_elt address "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN"}; - code {}; - output {Stack_elt address 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c} - -This normalization feature is however incompatible with using the -:ref:`wildcard pattern ` in the -output; when using wildcards the output must be formatted using the -readable format so the following test does not pass: - -:: - - input {Stack_elt address "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN"}; - code {}; - output {Stack_elt _ 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c} - -but the following test does pass: - -:: - - input {Stack_elt address 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c}; - code {}; - output {Stack_elt _ "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN"} - -.. _syntax_of_errors: -.. _syntax_of_errors_quebec: - -Syntax of errors -~~~~~~~~~~~~~~~~ - -To test that the execution of an instruction fails, the following -syntaxes can be used instead of the output stack as the argument of the -``output`` toplevel primitive to specify which error the instruction is expected to -raise: - -- ``(StaticError )``: an error occurred before the - instruction was executed; the error description format is - unspecified so consider using a :ref:`wildcard - ` such as ``(StaticError _)`` - to write portable tests; - -- ``(Failed )``: the execution reached a ``FAILWITH`` - instruction and the topmost element of the stack at this point was - ````; - -- ``MutezUnderflow``: a mutez subtraction resulted in a negative - value. This should only happen in the case of the deprecated - ``mutez`` case of the ``SUB`` instruction; - -- ``Overflow``: an overflow was detected. This can happen when an - addition or multiplication on type ``mutez`` produces a result - which is too large to be represented as a value of type ``mutez``, - or when the number of bits to shift using the ``LSL`` or ``LSR`` - instruction is too large. - - -The following example shows how to test a runtime failure; it asserts -that the `FAILWITH -`__ -instruction produces a runtime error containing the top of the stack. - -:: - - input { Stack_elt nat 4 ; Stack_elt bytes 0x }; - code FAILWITH; - output (Failed 4) - -The following example shows how to test type checking failure; it -asserts that the `DUP -`__ -instruction cannot be used on an empty stack. - -:: - - input {}; - code DUP; - output (StaticError _) - -The following example shows another kind of static failure: a string -cannot be passed as argument to the `DUP -`__ -instruction. - -:: - - input { Stack_elt nat 8 }; - code { DUP "foo" }; - output (StaticError _) - -.. _syntax_of_concrete_operations: -.. _syntax_of_concrete_operations_quebec: - -Syntax of concrete operations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The `operation type -`__ has -no concrete syntax in Michelson. In order to specify the result of the -operation forging instructions `TRANSFER_TOKENS -`__, -`CREATE_CONTRACT -`__, -and `SET_DELEGATE -`__ , -the following data constructors are added: - -- ``Transfer_tokens``, -- ``Create_contract``, and -- ``Set_delegate``. - -They take as arguments the inputs of the corresponding operation -forging instructions plus a cryptographic nonce represented as a byte -sequence. The result of ``TRANSFER_TOKENS``, ``CREATE_CONTRACT``, -and ``SET_DELEGATE`` have respectively the following shapes: - -- ``Transfer_tokens

``, -- ``Create_contract { - - - -.. _rpc_index_quebec : - -Quebec RPCs - Reference -####################### - -.. include:: /include/rpc_introduction.rst.inc - -Index -***** - -* ../ (`GET `_) - - * ..//context - - * ..//context/adaptive_issuance_launch_cycle (`GET `_) - - * ..//context/big_maps - - * ..//context/big_maps/ (`GET `_) - - * ..//context/big_maps// (`GET `_) - - * ..//context/big_maps///normalized (`POST `_) - - * ..//context/cache - - * ..//context/cache/contracts - - * ..//context/cache/contracts/all (`GET `_) - - * ..//context/cache/contracts/rank (`POST `_) - - * ..//context/cache/contracts/size (`GET `_) - - * ..//context/cache/contracts/size_limit (`GET `_) - - * ..//context/constants (`GET `_) - - * ..//context/constants/errors (`GET `_) - - * ..//context/constants/parametric (`GET `_) - - * ..//context/contracts (`GET `_) - - * ..//context/contracts/ (`GET `_) - - * ..//context/contracts//all_ticket_balances (`GET `_) - - * ..//context/contracts//balance (`GET `_) - - * ..//context/contracts//balance_and_frozen_bonds (`GET `_) - - * ..//context/contracts//big_map_get (`POST `_) - - * ..//context/contracts//counter (`GET `_) - - * ..//context/contracts//delegate (`GET `_) - - * ..//context/contracts//entrypoints (`GET `_) - - * ..//context/contracts//entrypoints/ (`GET `_) - - * ..//context/contracts//estimated_own_pending_slashed_amount (`GET `_) - - * ..//context/contracts//frozen_bonds (`GET `_) - - * ..//context/contracts//full_balance (`GET `_) - - * ..//context/contracts//manager_key (`GET `_) - - * ..//context/contracts//script (`GET `_) - - * ..//context/contracts//script/normalized (`POST `_) - - * ..//context/contracts//single_sapling_get_diff (`GET `_) - - * ..//context/contracts//spendable (`GET `_) - - * ..//context/contracts//spendable_and_frozen_bonds (`GET `_) - - * ..//context/contracts//staked_balance (`GET `_) - - * ..//context/contracts//staking_numerator (`GET `_) - - * ..//context/contracts//storage (`GET `_) - - * ..//context/contracts//storage/normalized (`POST `_) - - * ..//context/contracts//storage/paid_space (`GET `_) - - * ..//context/contracts//storage/used_space (`GET `_) - - * ..//context/contracts//ticket_balance (`POST `_) - - * ..//context/contracts//unstake_requests (`GET `_) - - * ..//context/contracts//unstaked_finalizable_balance (`GET `_) - - * ..//context/contracts//unstaked_frozen_balance (`GET `_) - - * ..//context/dal - - * ..//context/dal/commitments_history (`GET `_) - - * ..//context/dal/published_slot_headers (`GET `_) - - * ..//context/dal/shards (`GET `_) - - * ..//context/delegates (`GET `_) - - * ..//context/delegates/ (`GET `_) - - * ..//context/delegates//active_staking_parameters (`GET `_) - - * ..//context/delegates//baking_power (`GET `_) - - * ..//context/delegates//consensus_key (`GET `_) - - * ..//context/delegates//current_baking_power (`GET `_) - - * ..//context/delegates//current_frozen_deposits (`GET `_) - - * ..//context/delegates//current_voting_power (`GET `_) - - * ..//context/delegates//deactivated (`GET `_) - - * ..//context/delegates//delegated_balance (`GET `_) - - * ..//context/delegates//delegated_contracts (`GET `_) - - * ..//context/delegates//delegators (`GET `_) - - * ..//context/delegates//denunciations (`GET `_) - - * ..//context/delegates//estimated_shared_pending_slashed_amount (`GET `_) - - * ..//context/delegates//external_delegated (`GET `_) - - * ..//context/delegates//external_staked (`GET `_) - - * ..//context/delegates//frozen_deposits (`GET `_) - - * ..//context/delegates//frozen_deposits_limit (`GET `_) - - * ..//context/delegates//full_balance (`GET `_) - - * ..//context/delegates//grace_period (`GET `_) - - * ..//context/delegates//is_forbidden (`GET `_) - - * ..//context/delegates//min_delegated_in_current_cycle (`GET `_) - - * ..//context/delegates//own_delegated (`GET `_) - - * ..//context/delegates//own_full_balance (`GET `_) - - * ..//context/delegates//own_staked (`GET `_) - - * ..//context/delegates//participation (`GET `_) - - * ..//context/delegates//pending_staking_parameters (`GET `_) - - * ..//context/delegates//stakers (`GET `_) - - * ..//context/delegates//staking_balance (`GET `_) - - * ..//context/delegates//staking_denominator (`GET `_) - - * ..//context/delegates//total_delegated (`GET `_) - - * ..//context/delegates//total_delegated_stake (`GET `_) - - * ..//context/delegates//total_staked (`GET `_) - - * ..//context/delegates//total_unstaked_per_cycle (`GET `_) - - * ..//context/delegates//unstaked_frozen_deposits (`GET `_) - - * ..//context/delegates//voting_info (`GET `_) - - * ..//context/delegates//voting_power (`GET `_) - - * ..//context/denunciations (`GET `_) - - * ..//context/issuance - - * ..//context/issuance/current_yearly_rate (`GET `_) - - * ..//context/issuance/current_yearly_rate_details (`GET `_) - - * ..//context/issuance/current_yearly_rate_exact (`GET `_) - - * ..//context/issuance/expected_issuance (`GET `_) - - * ..//context/issuance/issuance_per_minute (`GET `_) - - * ..//context/liquidity_baking - - * ..//context/liquidity_baking/cpmm_address (`GET `_) - - * ..//context/merkle_tree (`GET `_) - - * ..//context/merkle_tree_v2 (`GET `_) - - * ..//context/nonces - - * ..//context/nonces/ (`GET `_) - - * ..//context/raw - - * ..//context/raw/bytes (`GET `_) - - * ..//context/raw/json () - - * ..//context/sapling - - * ..//context/sapling/ - - * ..//context/sapling//get_diff (`GET `_) - - * ..//context/seed (`POST `_) - - * ..//context/seed_computation (`GET `_) - - * ..//context/smart_rollups - - * ..//context/smart_rollups/all (`GET `_) - - * ..//context/smart_rollups/all/inbox (`GET `_) - - * ..//context/smart_rollups/smart_rollup - - * ..//context/smart_rollups/smart_rollup/ - - * ..//context/smart_rollups/smart_rollup//commitment - - * ..//context/smart_rollups/smart_rollup//commitment/ (`GET `_) - - * ..//context/smart_rollups/smart_rollup//commitment//can_be_cemented (`GET `_) - - * ..//context/smart_rollups/smart_rollup//commitment//stakers_indexes (`GET `_) - - * ..//context/smart_rollups/smart_rollup//consumed_outputs - - * ..//context/smart_rollups/smart_rollup//consumed_outputs/ (`GET `_) - - * ..//context/smart_rollups/smart_rollup//genesis_info (`GET `_) - - * ..//context/smart_rollups/smart_rollup//inbox_level - - * ..//context/smart_rollups/smart_rollup//inbox_level/ - - * ..//context/smart_rollups/smart_rollup//inbox_level//commitments (`GET `_) - - * ..//context/smart_rollups/smart_rollup//kind (`GET `_) - - * ..//context/smart_rollups/smart_rollup//last_cemented_commitment_hash_with_level (`GET `_) - - * ..//context/smart_rollups/smart_rollup//last_whitelist_update (`GET `_) - - * ..//context/smart_rollups/smart_rollup//staker - - * ..//context/smart_rollups/smart_rollup//staker/ - - * ..//context/smart_rollups/smart_rollup//staker//conflicts (`GET `_) - - * ..//context/smart_rollups/smart_rollup//staker//games (`GET `_) - - * ..//context/smart_rollups/smart_rollup//staker//index (`GET `_) - - * ..//context/smart_rollups/smart_rollup//staker//staked_on_commitment (`GET `_) - - * ..//context/smart_rollups/smart_rollup//staker1 - - * ..//context/smart_rollups/smart_rollup//staker1/ - - * ..//context/smart_rollups/smart_rollup//staker1//staker2 - - * ..//context/smart_rollups/smart_rollup//staker1//staker2/ - - * ..//context/smart_rollups/smart_rollup//staker1//staker2//timeout (`GET `_) - - * ..//context/smart_rollups/smart_rollup//staker1//staker2//timeout_reached (`GET `_) - - * ..//context/smart_rollups/smart_rollup//stakers (`GET `_) - - * ..//context/smart_rollups/smart_rollup//ticket_balance (`POST `_) - - * ..//context/smart_rollups/smart_rollup//whitelist (`GET `_) - - * ..//context/total_currently_staked (`GET `_) - - * ..//context/total_frozen_stake (`GET `_) - - * ..//context/total_supply (`GET `_) - - * ..//hash (`GET `_) - - * ..//header (`GET `_) - - * ..//header/protocol_data (`GET `_) - - * ..//header/protocol_data/raw (`GET `_) - - * ..//header/raw (`GET `_) - - * ..//header/shell (`GET `_) - - * ..//helpers - - * ..//helpers/attestation_rights (`GET `_) - - * ..//helpers/baking_rights (`GET `_) - - * ..//helpers/complete - - * ..//helpers/complete/ (`GET `_) - - * ..//helpers/current_level (`GET `_) - - * ..//helpers/forge - - * ..//helpers/forge/operations (`POST `_) - - * ..//helpers/forge/protocol_data (`POST `_) - - * ..//helpers/forge_block_header (`POST `_) - - * ..//helpers/levels_in_current_cycle (`GET `_) - - * ..//helpers/parse - - * ..//helpers/parse/block (`POST `_) - - * ..//helpers/parse/operations (`POST `_) - - * ..//helpers/preapply - - * ..//helpers/preapply/block (`POST `_) - - * ..//helpers/preapply/operations (`POST `_) - - * ..//helpers/round (`GET `_) - - * ..//helpers/scripts - - * ..//helpers/scripts/entrypoint (`POST `_) - - * ..//helpers/scripts/entrypoints (`POST `_) - - * ..//helpers/scripts/normalize_data (`POST `_) - - * ..//helpers/scripts/normalize_script (`POST `_) - - * ..//helpers/scripts/normalize_stack (`POST `_) - - * ..//helpers/scripts/normalize_type (`POST `_) - - * ..//helpers/scripts/pack_data (`POST `_) - - * ..//helpers/scripts/run_code (`POST `_) - - * ..//helpers/scripts/run_instruction (`POST `_) - - * ..//helpers/scripts/run_operation (`POST `_) - - * ..//helpers/scripts/run_script_view (`POST `_) - - * ..//helpers/scripts/run_view (`POST `_) - - * ..//helpers/scripts/script_size (`POST `_) - - * ..//helpers/scripts/simulate_operation (`POST `_) - - * ..//helpers/scripts/trace_code (`POST `_) - - * ..//helpers/scripts/typecheck_code (`POST `_) - - * ..//helpers/scripts/typecheck_data (`POST `_) - - * ..//helpers/validators (`GET `_) - - * ..//live_blocks (`GET `_) - - * ..//metadata (`GET `_) - - * ..//metadata_hash (`GET `_) - - * ..//operation_hashes (`GET `_) - - * ..//operation_hashes/ (`GET `_) - - * ..//operation_hashes// (`GET `_) - - * ..//operation_metadata_hashes (`GET `_) - - * ..//operation_metadata_hashes/ (`GET `_) - - * ..//operation_metadata_hashes// (`GET `_) - - * ..//operations (`GET `_) - - * ..//operations/ (`GET `_) - - * ..//operations// (`GET `_) - - * ..//operations_metadata_hash (`GET `_) - - * ..//protocols (`GET `_) - - * ..//resulting_context_hash (`GET `_) - - * ..//votes - - * ..//votes/ballot_list (`GET `_) - - * ..//votes/ballots (`GET `_) - - * ..//votes/current_period (`GET `_) - - * ..//votes/current_proposal (`GET `_) - - * ..//votes/current_quorum (`GET `_) - - * ..//votes/listings (`GET `_) - - * ..//votes/proposal_count - - * ..//votes/proposal_count/ (`GET `_) - - * ..//votes/proposals (`GET `_) - - * ..//votes/successor_period (`GET `_) - - * ..//votes/total_voting_power (`GET `_) - -Full description -**************** - -.. _GET_..--block_id : - -**GET ../?[version=]&[force_metadata]&[metadata=]** - -.. raw:: html - -
- - -
-

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

Optional query arguments :

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

-
-
-
-    { /* block_info_encoding_v1 */
-      "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-      "chain_id": $Chain_id,
-      "hash": $block_hash,
-      "header": $raw_block_header,
-      "metadata"?: $block_header_metadata,
-      "operations": [ [ $operation ... ] ... ] }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.apply_internal_results.alpha.operation_result:
-      { /* transaction */
-        "kind": "transaction",
-        "source": $021-PsQuebec.transaction_destination,
-        "nonce": integer ∈ [0, 2^16-1],
-        "amount": $021-PsQuebec.mutez,
-        "destination": $021-PsQuebec.transaction_destination,
-        "parameters"?: { "entrypoint": $021-PsQuebec.entrypoint,
-                         "value": any },
-        "result":
-          $021-PsQuebec.operation.alpha.internal_operation_result.transaction }
-      || { /* origination */
-           "kind": "origination",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.origination }
-      || { /* delegation */
-           "kind": "delegation",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?: $Signature.Public_key_hash,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.delegation }
-      || { /* event */
-           "kind": "event",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "type": $micheline.021-PsQuebec.michelson_v1.expression,
-           "tag"?: $021-PsQuebec.entrypoint,
-           "payload"?: $micheline.021-PsQuebec.michelson_v1.expression,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.event }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.bond_id:
-      { /* Smart_rollup_bond_id */
-        "smart_rollup": $smart_rollup_address }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.error:
-      /* The full list of RPC errors would be too long to include.
-         It is available at RPC `/errors` (GET).
-         Errors specific to protocol Alpha have an id that starts with
-         `proto.alpha`. */
-      any
-    $021-PsQuebec.frozen_staker:
-      /* frozen_staker
-         Abstract notion of staker used in operation receipts for frozen
-         deposits, either a single staker or all the stakers delegating to some
-         delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-      || { /* Baker */
-           "baker_own_stake": $Signature.Public_key_hash }
-      || { /* Baker_edge */
-           "baker_edge": $Signature.Public_key_hash }
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.lazy_storage_diff:
-      [ { /* big_map */
-          "kind": "big_map",
-          "id": $021-PsQuebec.big_map_id,
-          "diff":
-            { /* update */
-              "action": "update",
-              "updates":
-                [ { "key_hash": $script_expr,
-                    "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                    "value"?: $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* remove */
-                 "action": "remove" }
-            || { /* copy */
-                 "action": "copy",
-                 "source": $021-PsQuebec.big_map_id,
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* alloc */
-                 "action": "alloc",
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-                 "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-                 "value_type": $micheline.021-PsQuebec.michelson_v1.expression } }
-        || { /* sapling_state */
-             "kind": "sapling_state",
-             "id": $021-PsQuebec.sapling_state_id,
-             "diff":
-               { /* update */
-                 "action": "update",
-                 "updates":
-                   { "commitments_and_ciphertexts":
-                       [ [ $sapling.transaction.commitment,
-                           $sapling.transaction.ciphertext ] ... ],
-                     "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* remove */
-                    "action": "remove" }
-               || { /* copy */
-                    "action": "copy",
-                    "source": $021-PsQuebec.sapling_state_id,
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* alloc */
-                    "action": "alloc",
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] },
-                    "memo_size": integer ∈ [0, 2^16-1] } } ... ]
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.operation.alpha.contents_and_signature:
-      { "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.operation.alpha.internal_operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.internal_operation_result.event:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.internal_operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.internal_operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_contents_and_result:
-      { /* Attestation */
-        "kind": "attestation",
-        "slot": integer ∈ [0, 2^16-1],
-        "level": integer ∈ [0, 2^31],
-        "round": integer ∈ [-2^31-1, 2^31],
-        "block_payload_hash": $value_hash,
-        "metadata":
-          { "balance_updates"?:
-              $021-PsQuebec.operation_metadata.alpha.balance_updates,
-            "delegate": $Signature.Public_key_hash,
-            "consensus_power": integer ∈ [-2^30, 2^30],
-            "consensus_key": $Signature.Public_key_hash } }
-      || { /* Attestation_with_dal */
-           "kind": "attestation_with_dal",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "dal_attestation": $bignum,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Preattestation */
-           "kind": "preattestation",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.inlined.attestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_preattestation_evidence */
-           "kind": "double_preattestation_evidence",
-           "op1": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Seed_nonce_revelation */
-           "kind": "seed_nonce_revelation",
-           "level": integer ∈ [0, 2^31],
-           "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Vdf_revelation */
-           "kind": "vdf_revelation",
-           "solution":
-             [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_baking_evidence */
-           "kind": "double_baking_evidence",
-           "bh1": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.block_header.alpha.full_header,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Activate_account */
-           "kind": "activate_account",
-           "pkh": $Ed25519.Public_key_hash,
-           "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Proposals */
-           "kind": "proposals",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposals": [ $Protocol_hash ... ],
-           "metadata": {  } }
-      || { /* Ballot */
-           "kind": "ballot",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposal": $Protocol_hash,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { /* Drain_delegate */
-           "kind": "drain_delegate",
-           "consensus_key": $Signature.Public_key_hash,
-           "delegate": $Signature.Public_key_hash,
-           "destination": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "allocated_destination_contract"?: boolean } }
-      || { /* Reveal */
-           "kind": "reveal",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_key": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transaction */
-           "kind": "transaction",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "delegate"?: $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Register_global_constant */
-           "kind": "register_global_constant",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "value": any,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.register_global_constant,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Set_deposits_limit */
-           "kind": "set_deposits_limit",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pk": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.update_consensus_key,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transfer_ticket */
-           "kind": "transfer_ticket",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transfer_ticket,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "slot_header":
-             { "slot_index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment,
-               "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_originate */
-           "kind": "smart_rollup_originate",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
-           "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "parameters_ty": any,
-           "whitelist"?: [ $Signature.Public_key_hash ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_add_messages */
-           "kind": "smart_rollup_add_messages",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_cement */
-           "kind": "smart_rollup_cement",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_publish */
-           "kind": "smart_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "commitment":
-             { "compressed_state": $smart_rollup_state_hash,
-               "inbox_level": integer ∈ [0, 2^31],
-               "predecessor": $smart_rollup_commitment_hash,
-               "number_of_ticks": $int64 },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_refute */
-           "kind": "smart_rollup_refute",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "opponent": $Signature.Public_key_hash,
-           "refutation":
-             { /* Start */
-               "refutation_kind": "start",
-               "player_commitment_hash": $smart_rollup_commitment_hash,
-               "opponent_commitment_hash": $smart_rollup_commitment_hash }
-             || { /* Move */
-                  "refutation_kind": "move",
-                  "choice": $positive_bignum,
-                  "step":
-                    [ { "state"?: $smart_rollup_state_hash,
-                        "tick": $positive_bignum } ... ]
-                    /* Dissection */
-                    || { /* Proof */
-                         "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                         "input_proof"?:
-                           { /* inbox proof */
-                             "input_proof_kind": "inbox_proof",
-                             "level": integer ∈ [0, 2^31],
-                             "message_counter": $positive_bignum,
-                             "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                           || { /* reveal proof */
-                                "input_proof_kind": "reveal_proof",
-                                "reveal_proof":
-                                  { /* raw data proof */
-                                    "reveal_proof_kind": "raw_data_proof",
-                                    "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* metadata proof */
-                                       "reveal_proof_kind": "metadata_proof" }
-                                  || { /* dal page proof */
-                                       "reveal_proof_kind": "dal_page_proof",
-                                       "dal_page_id":
-                                         { "published_level":
-                                             integer ∈ [0, 2^31],
-                                           "slot_index": integer ∈ [0, 255],
-                                           "page_index":
-                                             integer ∈ [-2^15, 2^15-1] },
-                                       "dal_proof":
-                                         /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* dal parameters proof */
-                                       "reveal_proof_kind":
-                                         "dal_parameters_proof" } }
-                           || { /* first input */
-                                "input_proof_kind": "first_input" } } },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_timeout */
-           "kind": "smart_rollup_timeout",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "stakers":
-             { "alice": $Signature.Public_key_hash,
-               "bob": $Signature.Public_key_hash },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_execute_outbox_message */
-           "kind": "smart_rollup_execute_outbox_message",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "cemented_commitment": $smart_rollup_commitment_hash,
-           "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_recover_bond */
-           "kind": "smart_rollup_recover_bond",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "staker": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_origination */
-           "kind": "zk_rollup_origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "circuits_info":
-             [ [ $unistring,
-                 { /* Public */
-                   "public": any }
-                 || { /* Private */
-                      "private": any }
-                 || { /* Fee */
-                      "fee": any } ] ... ],
-           "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "nb_ops": integer ∈ [-2^30, 2^30],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_publish */
-           "kind": "zk_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "zk_rollup": $Zk_rollup_hash,
-           "update":
-             { "pending_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                       "exit_validity": boolean } ] ... ],
-               "private_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
-               "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
-               "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-    $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment:
-      { /* Applied */
-        "status": "applied",
-        "slot_header":
-          { /* v0 */
-            "version": "0",
-            "level": integer ∈ [0, 2^31],
-            "index": integer ∈ [0, 255],
-            "commitment": $DAL_commitment },
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "slot_header":
-             { /* v0 */
-               "version": "0",
-               "level": integer ∈ [0, 2^31],
-               "index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment },
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.operation_result.register_global_constant:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "global_address": $script_expr }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "global_address": $script_expr }
-    $021-PsQuebec.operation.alpha.operation_result.reveal:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "inbox_level": integer ∈ [0, 2^31],
-        "commitment_hash": $smart_rollup_commitment_hash }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "inbox_level": integer ∈ [0, 2^31],
-           "commitment_hash": $smart_rollup_commitment_hash }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "whitelist_update"?:
-          { /* Public */
-            "kind": "public" }
-          || { /* Private */
-               "kind": "update",
-               "whitelist": [ $Signature.Public_key_hash ... ] },
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "whitelist_update"?:
-             { /* Public */
-               "kind": "public" }
-             || { /* Private */
-                  "kind": "update",
-                  "whitelist": [ $Signature.Public_key_hash ... ] },
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "address": $smart_rollup_address,
-        "genesis_commitment_hash": $smart_rollup_commitment_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "address": $smart_rollup_address,
-           "genesis_commitment_hash": $smart_rollup_commitment_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "staked_hash": $smart_rollup_commitment_hash,
-        "published_at_level": integer ∈ [0, 2^31],
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "staked_hash": $smart_rollup_commitment_hash,
-           "published_at_level": integer ∈ [0, 2^31],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_result.transfer_ticket:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.update_consensus_key:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_zk_rollup": $Zk_rollup_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_zk_rollup": $Zk_rollup_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_with_metadata:
-      { /* Operation_with_metadata */
-        "contents":
-          [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-        "signature"?: $Signature.V1 }
-      || { /* Operation_without_metadata */
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-    $021-PsQuebec.operation.alpha.successful_manager_operation_result:
-      { /* reveal */
-        "kind": "reveal",
-        "consumed_milligas"?: $positive_bignum }
-      || /* transaction */
-      { /* To_contract */
-        "kind": "transaction",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "kind": "transaction",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* origination */
-           "kind": "origination",
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* delegation */
-           "kind": "delegation",
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* update_consensus_key */
-           "kind": "update_consensus_key",
-           "consumed_milligas"?: $positive_bignum }
-      || { /* set_deposits_limit */
-           "kind": "set_deposits_limit",
-           "consumed_milligas"?: $positive_bignum }
-      || { /* increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-      || { /* smart_rollup_originate */
-           "kind": "smart_rollup_originate",
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "address": $smart_rollup_address,
-           "genesis_commitment_hash": $smart_rollup_commitment_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation_metadata.alpha.balance_updates:
-      [ { /* Contract */
-          "kind": "contract",
-          "contract": $021-PsQuebec.contract_id,
-          "change": $int64,
-          "origin": "block" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "block" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash } ... ]
-    $021-PsQuebec.sapling_state_id:
-      /* Sapling state identifier
-         A sapling state identifier */
-      $bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $021-PsQuebec.staker:
-      /* unstaked_frozen_staker
-         Abstract notion of staker used in operation receipts for unstaked
-         frozen deposits, either a single staker or all the stakers delegating
-         to some delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-    $021-PsQuebec.transaction_destination:
-      /* A destination of a transaction
-         A destination notation compatible with the contract notation as given
-         to an RPC or inside scripts. Can be a base58 implicit contract hash, a
-         base58 originated contract hash, a base58 originated transaction
-         rollup, or a base58 originated smart rollup. */
-      $unistring
-    $Blinded public key hash:
-      /* A blinded public key hash (Base58Check-encoded) */
-      $unistring
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Ed25519.Public_key_hash:
-      /* An Ed25519 public key hash (Base58Check-encoded) */
-      $unistring
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key:
-      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $Zk_rollup_hash:
-      /* A zk rollup address (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_hash:
-      /* A block identifier (Base58Check-encoded) */
-      $unistring
-    $block_header_metadata:
-      { "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-        "next_protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-        "test_chain_status": $test_chain_status,
-        "max_operations_ttl": integer ∈ [-2^30, 2^30],
-        "max_operation_data_length": integer ∈ [-2^30, 2^30],
-        "max_block_header_length": integer ∈ [-2^30, 2^30],
-        "max_operation_list_length":
-          [ { "max_size": integer ∈ [-2^30, 2^30],
-              "max_op"?: integer ∈ [-2^30, 2^30] } ... ],
-        "proposer": $Signature.Public_key_hash,
-        "baker": $Signature.Public_key_hash,
-        "level_info":
-          { "level":
-              integer ∈ [0, 2^31]
-              /* The level of the block relative to genesis. This is also the
-                 Shell's notion of level. */,
-            "level_position":
-              integer ∈ [-2^31-1, 2^31]
-              /* The level of the block relative to the successor of the
-                 genesis block. More precisely, it is the position of the block
-                 relative to the block that starts the "Alpha family" of
-                 protocols, which includes all protocols except Genesis (that
-                 is, from 001 onwards). */,
-            "cycle":
-              integer ∈ [-2^31-1, 2^31]
-              /* The current cycle's number. Note that cycles are a
-                 protocol-specific notion. As a result, the cycle number starts
-                 at 0 with the first block of the Alpha family of protocols. */,
-            "cycle_position":
-              integer ∈ [-2^31-1, 2^31]
-              /* The current level of the block relative to the first block of
-                 the current cycle. */,
-            "expected_commitment":
-              boolean
-              /* Tells whether the baker of this block has to commit a seed
-                 nonce hash. */ },
-        "voting_period_info":
-          { "voting_period":
-              { /* The voting period to which the block belongs. */
-                "index":
-                  integer ∈ [-2^31-1, 2^31]
-                  /* The voting period's index. Starts at 0 with the first
-                     block of the Alpha family of protocols. */,
-                "kind":
-                  /* One of the several kinds of periods in the voting
-                     procedure. */
-                  "proposal"
-                  || "exploration"
-                  || "cooldown"
-                  || "promotion"
-                  || "adoption",
-                "start_position":
-                  integer ∈ [-2^31-1, 2^31]
-                  /* The relative position of the first level of the period
-                     with respect to the first level of the Alpha family of
-                     protocols. */ },
-            "position":
-              integer ∈ [-2^31-1, 2^31]
-              /* The position of the block within the voting period. */,
-            "remaining":
-              integer ∈ [-2^31-1, 2^31]
-              /* The number of blocks remaining till the end of the voting
-                 period. */ },
-        "nonce_hash": $cycle_nonce /* Some */ || null /* None */,
-        "deactivated": [ $Signature.Public_key_hash ... ],
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "liquidity_baking_toggle_ema": integer ∈ [-2^31-1, 2^31],
-        "adaptive_issuance_vote_ema": integer ∈ [-2^31-1, 2^31],
-        "adaptive_issuance_activation_cycle"?: integer ∈ [-2^31-1, 2^31],
-        "implicit_operations_results":
-          [ $021-PsQuebec.operation.alpha.successful_manager_operation_result ... ],
-        "proposer_consensus_key": $Signature.Public_key_hash,
-        "baker_consensus_key": $Signature.Public_key_hash,
-        "consumed_milligas": $positive_bignum,
-        "dal_attestation": $bignum }
-    $cycle_nonce:
-      /* A nonce hash (Base58Check-encoded) */
-      $unistring
-    $fitness:
-      /* Block fitness
-         The fitness, or score, of a block, that allow the Tezos to decide
-         which chain is the best. A fitness value is a list of byte sequences.
-         They are compared as follows: shortest lists are smaller; lists of the
-         same length are compared according to the lexicographical order. */
-      [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $operation:
-      { /* An operation's shell header. */
-        "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-        "chain_id": $Chain_id,
-        "hash": $Operation_hash,
-        "branch": $block_hash,
-        "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1,
-        "metadata": "too large" }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents":
-             [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-           "signature"?: $Signature.V1 }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $raw_block_header:
-      /* Shell header
-         Block header's shell-related content. It contains information such as
-         the block level, its predecessor and timestamp. */
-      { "level": integer ∈ [-2^31-1, 2^31],
-        "proto": integer ∈ [0, 255],
-        "predecessor": $block_hash,
-        "timestamp": $timestamp.protocol,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash": $Operation_list_list_hash,
-        "fitness": $fitness,
-        "context": $Context_hash,
-        "payload_hash": $value_hash,
-        "payload_round": integer ∈ [-2^31-1, 2^31],
-        "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "seed_nonce_hash"?: $cycle_nonce,
-        "liquidity_baking_toggle_vote": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $test_chain_status:
-      /* The status of the test chain: not_running (there is no test chain at
-         the moment), forking (the test chain is being setup), running (the
-         test chain is running). */
-      { /* Not_running */
-        "status": "not_running" }
-      || { /* Forking */
-           "status": "forking",
-           "protocol": $Protocol_hash,
-           "expiration": $timestamp.protocol }
-      || { /* Running */
-           "status": "running",
-           "chain_id": $Chain_id,
-           "genesis": $block_hash,
-           "protocol": $Protocol_hash,
-           "expiration": $timestamp.protocol }
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | chain_id                       | 4 bytes              | bytes                               |
-    +--------------------------------+----------------------+-------------------------------------+
-    | hash                           | 32 bytes             | bytes                               |
-    +--------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field          | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------+----------------------+-------------------------------------+
-    | header                         | Variable             | $raw_block_header                   |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "metadata" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_0                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field          | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------+----------------------+-------------------------------------+
-    | operations                     | Variable             | sequence of $X_78                   |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    fitness.elem
-    ************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.per_block_votes (1 byte, 8-bit tag)
-    ************************************************
-
-    case_0 (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_1 (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_2 (tag 2)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_4 (tag 4)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_5 (tag 5)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_6 (tag 6)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_8 (tag 8)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_9 (tag 9)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_10 (tag 10)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    raw_block_header
-    ****************
-
-    +---------------------------------------+----------+-------------------------------------+
-    | Name                                  | Size     | Contents                            |
-    +=======================================+==========+=====================================+
-    | level                                 | 4 bytes  | signed 32-bit 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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    test_chain_status (Determined from data, 8-bit tag)
-    ***************************************************
-
-    Not_running (tag 0)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Forking (tag 1)
-    ===============
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | protocol   | 32 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-    | expiration | 8 bytes  | signed 64-bit big-endian integer |
-    +------------+----------+----------------------------------+
-
-
-    Running (tag 2)
-    ===============
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | chain_id   | 4 bytes  | bytes                            |
-    +------------+----------+----------------------------------+
-    | genesis    | 32 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-    | protocol   | 32 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-    | expiration | 8 bytes  | signed 64-bit big-endian integer |
-    +------------+----------+----------------------------------+
-
-
-    X_2
-    ***
-
-    +------------------------------+---------+-------------------------------------------------------------------------+
-    | Name                         | Size    | Contents                                                                |
-    +==============================+=========+=========================================================================+
-    | max_size                     | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------+---------+-------------------------------------------------------------------------+
-    | ? presence of field "max_op" | 1 byte  | boolean (0 for false, 255 for true)                                     |
-    +------------------------------+---------+-------------------------------------------------------------------------+
-    | max_op                       | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------+---------+-------------------------------------------------------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_3
-    ***
-
-    +---------------------+---------+-------------------------------------+
-    | Name                | Size    | Contents                            |
-    +=====================+=========+=====================================+
-    | level               | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | level_position      | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | cycle               | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | cycle_position      | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | expected_commitment | 1 byte  | boolean (0 for false, 255 for true) |
-    +---------------------+---------+-------------------------------------+
-
-
-    X_6 (1 byte, 8-bit tag)
-    ***********************
-
-    Proposal (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    exploration (tag 1)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Cooldown (tag 2)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Promotion (tag 3)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Adoption (tag 4)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_5
-    ***
-
-    +----------------+---------+----------------------------------+
-    | Name           | Size    | Contents                         |
-    +================+=========+==================================+
-    | index          | 4 bytes | signed 32-bit big-endian integer |
-    +----------------+---------+----------------------------------+
-    | kind           | 1 byte  | $X_6                             |
-    +----------------+---------+----------------------------------+
-    | start_position | 4 bytes | signed 32-bit big-endian integer |
-    +----------------+---------+----------------------------------+
-
-
-    X_4
-    ***
-
-    +---------------+---------+----------------------------------+
-    | Name          | Size    | Contents                         |
-    +===============+=========+==================================+
-    | voting_period | 9 bytes | $X_5                             |
-    +---------------+---------+----------------------------------+
-    | position      | 4 bytes | signed 32-bit big-endian integer |
-    +---------------+---------+----------------------------------+
-    | remaining     | 4 bytes | signed 32-bit big-endian integer |
-    +---------------+---------+----------------------------------+
-
-
-    X_7 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-------------+----------+------------------------+
-    | Name        | Size     | Contents               |
-    +=============+==========+========================+
-    | Tag         | 1 byte   | unsigned 8-bit integer |
-    +-------------+----------+------------------------+
-    | cycle_nonce | 32 bytes | bytes                  |
-    +-------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.staker (Determined from data, 8-bit tag)
-    *****************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    021-PsQuebec.bond_id (21 bytes, 8-bit tag)
-    ******************************************
-
-    Smart_rollup_bond_id (tag 1)
-    ============================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | smart_rollup | 20 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    021-PsQuebec.frozen_staker (Determined from data, 8-bit tag)
-    ************************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    Baker (tag 2)
-    =============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | baker_own_stake | 21 bytes | $public_key_hash       |
-    +-----------------+----------+------------------------+
-
-
-    Baker_edge (tag 3)
-    ==================
-
-    +------------+----------+------------------------+
-    | Name       | Size     | Contents               |
-    +============+==========+========================+
-    | Tag        | 1 byte   | unsigned 8-bit integer |
-    +------------+----------+------------------------+
-    | baker_edge | 21 bytes | $public_key_hash       |
-    +------------+----------+------------------------+
-
-
-    X_9 (Determined from data, 8-bit tag)
-    *************************************
-
-    Contract (tag 0)
-    ================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Block_fees (tag 2)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Deposits (tag 4)
-    ================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.frozen_staker      |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Nonce_revelation_rewards (tag 5)
-    ================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Attesting_rewards (tag 7)
-    =========================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_rewards (tag 8)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_bonuses (tag 9)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Storage_fees (tag 11)
-    =====================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Double_signing_punishments (tag 12)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Lost_attesting_rewards (tag 13)
-    ===============================
-
-    +---------------+----------+-------------------------------------+
-    | Name          | Size     | Contents                            |
-    +===============+==========+=====================================+
-    | Tag           | 1 byte   | unsigned 8-bit integer              |
-    +---------------+----------+-------------------------------------+
-    | delegate      | 21 bytes | $public_key_hash                    |
-    +---------------+----------+-------------------------------------+
-    | participation | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | change        | 8 bytes  | signed 64-bit big-endian integer    |
-    +---------------+----------+-------------------------------------+
-
-
-    Liquidity_baking_subsidies (tag 14)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Burned (tag 15)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Commitments (tag 16)
-    ====================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | committer | 20 bytes | bytes                            |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Bootstrap (tag 17)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Invoice (tag 18)
-    ================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Initial_commitments (tag 19)
-    ============================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Minted (tag 20)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Frozen_bonds (tag 21)
-    =====================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | bond_id  | 21 bytes | $021-PsQuebec.bond_id            |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Smart_rollup_refutation_punishments (tag 24)
-    ============================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Smart_rollup_refutation_rewards (tag 25)
-    ========================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Unstaked_deposits (tag 26)
-    ==========================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.staker             |
-    +--------+----------------------+----------------------------------+
-    | cycle  | 4 bytes              | signed 32-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Staking_delegator_numerator (tag 27)
-    ====================================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | delegator | 22 bytes | $021-PsQuebec.contract_id        |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Staking_delegate_denominator (tag 28)
-    =====================================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | delegate | 21 bytes | $public_key_hash                 |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    X_10 (Determined from data, 8-bit tag)
-    **************************************
-
-    Block_application (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Protocol_migration (tag 1)
-    ==========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Subsidy (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Simulation (tag 3)
-    ==================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Delayed_operation (tag 4)
-    =========================
-
-    +------------------------+----------+------------------------+
-    | Name                   | Size     | Contents               |
-    +========================+==========+========================+
-    | Tag                    | 1 byte   | unsigned 8-bit integer |
-    +------------------------+----------+------------------------+
-    | delayed_operation_hash | 32 bytes | bytes                  |
-    +------------------------+----------+------------------------+
-
-
-    X_8
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_9     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_10    |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    021-PsQuebec.contract_id.originated (22 bytes, 8-bit tag)
-    *********************************************************
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_24
-    ****
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-
-    X_23
-    ****
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_24                  |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    X_29 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_23                  |
-    +---------+----------------------+------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | source  | Determined from data | $Z.t                   |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_23                  |
-    +---------+----------------------+------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------+----------------------+------------------------------------+
-    | Name      | Size                 | Contents                           |
-    +===========+======================+====================================+
-    | Tag       | 1 byte               | unsigned 8-bit integer             |
-    +-----------+----------------------+------------------------------------+
-    | updates   | Determined from data | $X_23                              |
-    +-----------+----------------------+------------------------------------+
-    | memo_size | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | Name                        | Size                 | Contents                                        |
-    +=============================+======================+=================================================+
-    | key_hash                    | 32 bytes             | bytes                                           |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | key                         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | value                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-
-
-    X_41 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | updates               | Variable | sequence of $X_30                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | Determined from data | $Z.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_30                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | updates               | Variable             | sequence of $X_30                               |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | key_type              | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | value_type            | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    X_42 (Determined from data, 8-bit tag)
-    **************************************
-
-    big_map (tag 0)
-    ===============
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_41                  |
-    +------+----------------------+------------------------+
-
-
-    sapling_state (tag 1)
-    =====================
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_29                  |
-    +------+----------------------+------------------------+
-
-
-    021-PsQuebec.lazy_storage_diff
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_42                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_44
-    ****
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.transaction_destination (22 bytes, 8-bit tag)
-    **********************************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    Smart_rollup (tag 3)
-    ====================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | smart_rollup_address | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-    | padding              | 1 byte   | padding                |
-    +----------------------+----------+------------------------+
-
-
-    Zk_rollup (tag 4)
-    =================
-
-    +----------------+----------+------------------------+
-    | Name           | Size     | Contents               |
-    +================+==========+========================+
-    | Tag            | 1 byte   | unsigned 8-bit integer |
-    +----------------+----------+------------------------+
-    | Zk_rollup_hash | 20 bytes | bytes                  |
-    +----------------+----------+------------------------+
-    | padding        | 1 byte   | padding                |
-    +----------------+----------+------------------------+
-
-
-    X_47
-    ****
-
-    +---------+----------------------+---------------------------------------+
-    | Name    | Size                 | Contents                              |
-    +=========+======================+=======================================+
-    | account | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +---------+----------------------+---------------------------------------+
-    | amount  | Determined from data | $Z.t                                  |
-    +---------+----------------------+---------------------------------------+
-
-
-    X_43
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | ticket_token          | Determined from data | $X_44                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_47                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_77 (Determined from data, 8-bit tag)
-    **************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                 |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_43                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_updates        | Variable             | sequence of $X_43                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.successful_manager_operation_result (Determined from data, 8-bit tag)
-    **************************************************************************************************
-
-    reveal (tag 0)
-    ==============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    transaction (tag 1)
-    ===================
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_77                  |
-    +-----------------+----------------------+------------------------+
-
-
-    origination (tag 2)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                 |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    delegation (tag 3)
-    ==================
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    set_deposits_limit (tag 5)
-    ==========================
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    update_consensus_key (tag 6)
-    ============================
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    increase_paid_storage (tag 9)
-    =============================
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    smart_rollup_originate (tag 200)
-    ================================
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                      |
-    +==========================================================================+======================+===============================================================================+
-    | # bytes in next 25 fields                                                | 4 bytes              | unsigned 30-bit big-endian integer                                            |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | test_chain_status                                                        | Determined from data | $test_chain_status                                                            |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | max_operations_ttl                                                       | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | max_operation_data_length                                                | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | max_block_header_length                                                  | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                            |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | max_operation_list_length                                                | Determined from data | $X_1                                                                          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | proposer                                                                 | 21 bytes             | $public_key_hash                                                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | baker                                                                    | 21 bytes             | $public_key_hash                                                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | level_info                                                               | 17 bytes             | $X_3                                                                          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | voting_period_info                                                       | 17 bytes             | $X_4                                                                          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | nonce_hash                                                               | Determined from data | $X_7                                                                          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                            |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | deactivated                                                              | Variable             | sequence of $public_key_hash                                                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                            |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | liquidity_baking_toggle_ema                                              | 4 bytes              | signed 32-bit big-endian integer                                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | adaptive_issuance_vote_ema                                               | 4 bytes              | signed 32-bit big-endian integer                                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | ? presence of field "adaptive_issuance_activation_cycle"                 | 1 byte               | boolean (0 for false, 255 for true)                                           |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | adaptive_issuance_activation_cycle                                       | 4 bytes              | signed 32-bit big-endian integer                                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                            |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | implicit_operations_results                                              | Variable             | sequence of $021-PsQuebec.operation.alpha.successful_manager_operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | proposer_consensus_key                                                   | 21 bytes             | $public_key_hash                                                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | baker_consensus_key                                                      | 21 bytes             | $public_key_hash                                                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                                                          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-    | dal_attestation                                                          | Determined from data | $Z.t                                                                          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------+
-
-
-    X_81
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_82
-    ****
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_80
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_81    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_82    |
-    +-----------------+----------------------+----------+
-
-
-    X_85
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_83
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_81    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_85    |
-    +-----------------+----------------------+----------+
-
-
-    X_86
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_79
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_80                  |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_83                  |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_86                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | proof                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_89
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_88
-    ****
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_89                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_92 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_87
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_88    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_92    |
-    +-----------------+----------------------+----------+
-
-
-    X_95 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_93
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_81    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_95    |
-    +-----------------+----------------------+----------+
-
-
-    X_96
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_97
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_98
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_99 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_98                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_100 (Determined from data, 8-bit tag)
-    ***************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_99                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_101
-    *****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_102 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_101                 |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_100                              |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_103 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_102                 |
-    +--------+----------------------+------------------------+
-
-
-    X_104
-    *****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_106 (Enumeration: unsigned 8-bit integer):
-    ********************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_107
-    *****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_108
-    *****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_109
-    *****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.inlined.preattestation.contents |
-    +------------+----------+-----------------------------------------------+
-    | signature  | Variable | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.contents (Determined from data, 8-bit tag)
-    ***********************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | Tag   | 1 byte   | unsigned 8-bit integer           |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $raw_block_header                  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | bh2                   | Variable | $raw_block_header                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Activate_account (tag 4)
-    ========================
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | pkh    | 20 bytes | bytes                  |
-    +--------+----------+------------------------+
-    | secret | 20 bytes | bytes                  |
-    +--------+----------+------------------------+
-
-
-    Proposals (tag 5)
-    =================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | source                | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | period                | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_109                 |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_108                              |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_106) |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | # 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_107                                                     |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_81                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_104                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_103                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_97                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_96                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_93                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_87                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_79                  |
-    +---------------+----------------------+------------------------+
-
-
-    X_122
-    *****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
-    ************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
-    **********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_122                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                 |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                 |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    X_222 (Determined from data, 8-bit tag)
-    ***************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                 |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_receipt                                                           | Variable             | sequence of $X_43                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_receipt        | Variable             | sequence of $X_43                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_222                 |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_122                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_222                              |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    transaction (tag 1)
-    ===================
-
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                             | Size                 | Contents                                                            |
-    +==================================+======================+=====================================================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer                                              |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                           | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                            | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | amount                           | Determined from data | $N.t                                                                |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | parameters                       | Determined from data | $X_108                                                              |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                           | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.transaction |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    origination (tag 2)
-    ===================
-
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                            |
-    +================================+======================+=====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                              |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | balance                        | Determined from data | $N.t                                                                |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    delegation (tag 3)
-    ==================
-
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                           |
-    +================================+======================+====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                             |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                              |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                 |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                   |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-
-
-    event (tag 4)
-    =============
-
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | Name                          | Size                 | Contents                                                      |
-    +===============================+======================+===============================================================+
-    | Tag                           | 1 byte               | unsigned 8-bit integer                                        |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | source                        | 22 bytes             | $021-PsQuebec.transaction_destination                         |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | nonce                         | 2 bytes              | unsigned 16-bit big-endian integer                            |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | type                          | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | tag                           | Determined from data | $021-PsQuebec.entrypoint                                      |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | payload                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | result                        | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-
-
-    X_118
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update         |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
-    *************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_264
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
-    *****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_407
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_553 (54 bytes, 8-bit tag)
-    ***************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | slot_header       | 54 bytes             | $X_553                 |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_122                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | slot_header                  | 54 bytes             | $X_553                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_548
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
-    *********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_684
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                 |
-    +==========================================================================+======================+==========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                         |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-
-
-    X_838 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +-----------+----------------------+------------------------+
-    | Name      | Size                 | Contents               |
-    +===========+======================+========================+
-    | Tag       | 1 byte               | unsigned 8-bit integer |
-    +-----------+----------------------+------------------------+
-    | whitelist | Determined from data | $X_107                 |
-    +-----------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
-    *******************************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_43                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_838                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_43                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_838                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_824
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                           |
-    +==========================================================================+======================+====================================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result            |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-
-
-    X_984 (1 byte, 8-bit tag)
-    *************************
-
-    Conflict_resolved (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Timeout (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_985 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Loser (tag 0)
-    =============
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | reason | 1 byte   | $X_984                 |
-    +--------+----------+------------------------+
-    | player | 21 bytes | $public_key_hash       |
-    +--------+----------+------------------------+
-
-
-    Draw (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_986 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Ongoing (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Ended (tag 1)
-    =============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | result | Determined from data | $X_985                 |
-    +--------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | game_status                                                              | Determined from data | $X_986                             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | game_status                                                              | Determined from data | $X_986                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_979
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1278
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+----------------------------------+
-    | Name              | Size                 | Contents                         |
-    +===================+======================+==================================+
-    | Tag               | 1 byte               | unsigned 8-bit integer           |
-    +-------------------+----------------------+----------------------------------+
-    | consumed_milligas | Determined from data | $N.t                             |
-    +-------------------+----------------------+----------------------------------+
-    | inbox_level       | 4 bytes              | signed 32-bit big-endian integer |
-    +-------------------+----------------------+----------------------------------+
-    | commitment_hash   | 32 bytes             | bytes                            |
-    +-------------------+----------------------+----------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_122                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-    | inbox_level                  | 4 bytes              | signed 32-bit big-endian integer    |
-    +------------------------------+----------------------+-------------------------------------+
-    | commitment_hash              | 32 bytes             | bytes                               |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_1418
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1553
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event           |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1689
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
-    ***********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_43                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_43                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1829
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transfer_ticket          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
-    ********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_122                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_2387
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.register_global_constant |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2527
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2667
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
-    *******************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_77                  |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_81                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_122                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_77                               |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_2848
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transaction              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_3186
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size     | Contents                                                                |
-    +==========================================================================+==========+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_8                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | delegate                                                                 | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_power                                                          | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_key                                                            | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-
-
-    X_3198
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | allocated_destination_contract                                           | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation_metadata.alpha.balance_updates
-    *****************************************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_8                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3206
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | ? presence of field "forbidden_delegate"                                 | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | forbidden_delegate                                                       | 21 bytes | $public_key_hash                    |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_8                    |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | level    | 4 bytes              | signed 32-bit big-endian integer                       |
-    +----------+----------------------+--------------------------------------------------------+
-    | nonce    | 32 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Double_attestation_evidence (tag 2)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op1                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_3206                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Double_baking_evidence (tag 3)
-    ==============================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | bh1                   | Variable             | $raw_block_header                  |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | bh2                   | Variable             | $raw_block_header                  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_3206                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Activate_account (tag 4)
-    ========================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | pkh      | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | secret   | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Proposals (tag 5)
-    =================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | source                | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | period                | 4 bytes  | signed 32-bit 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             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------------------+--------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | metadata              | Determined from data | $X_3206                              |
-    +-----------------------+----------------------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | solution | 200 bytes            | $X_109                                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | consensus_key | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | delegate      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | destination   | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_3198                |
-    +---------------+----------------------+------------------------+
-
-
-    Preattestation (tag 20)
-    =======================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3186                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation (tag 21)
-    ====================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3186                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation_with_dal (tag 23)
-    =============================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                               |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3186                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Reveal (tag 107)
-    ================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | public_key    | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1553                |
-    +---------------+----------------------+------------------------+
-
-
-    Transaction (tag 108)
-    =====================
-
-    +----------------------------------+----------------------+-------------------------------------+
-    | Name                             | Size                 | Contents                            |
-    +==================================+======================+=====================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer              |
-    +----------------------------------+----------------------+-------------------------------------+
-    | source                           | 21 bytes             | $public_key_hash                    |
-    +----------------------------------+----------------------+-------------------------------------+
-    | fee                              | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | counter                          | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | gas_limit                        | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | storage_limit                    | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | amount                           | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_108                              |
-    +----------------------------------+----------------------+-------------------------------------+
-    | metadata                         | Determined from data | $X_2848                             |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2667                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Delegation (tag 110)
-    ====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2527                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Register_global_constant (tag 111)
-    ==================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_2387                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Set_deposits_limit (tag 112)
-    ============================
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | Tag                         | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------+----------------------+-------------------------------------+
-    | source                      | 21 bytes             | $public_key_hash                    |
-    +-----------------------------+----------------------+-------------------------------------+
-    | fee                         | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | counter                     | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | gas_limit                   | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | storage_limit               | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | limit                       | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | metadata                    | Determined from data | $X_1553                             |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    Increase_paid_storage (tag 113)
-    ===============================
-
-    +---------------+----------------------+--------------------------------------+
-    | Name          | Size                 | Contents                             |
-    +===============+======================+======================================+
-    | Tag           | 1 byte               | unsigned 8-bit integer               |
-    +---------------+----------------------+--------------------------------------+
-    | source        | 21 bytes             | $public_key_hash                     |
-    +---------------+----------------------+--------------------------------------+
-    | fee           | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | counter       | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | gas_limit     | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | storage_limit | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | amount        | Determined from data | $Z.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | destination   | 22 bytes             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-    | metadata      | Determined from data | $X_684                               |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1553                |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | entrypoint            | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1829                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_originate (tag 200)
-    ================================
-
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | Name                            | Size                 | Contents                                                   |
-    +=================================+======================+============================================================+
-    | Tag                             | 1 byte               | unsigned 8-bit integer                                     |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | source                          | 21 bytes             | $public_key_hash                                           |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | fee                             | Determined from data | $N.t                                                       |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | counter                         | Determined from data | $N.t                                                       |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | gas_limit                       | Determined from data | $N.t                                                       |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | storage_limit                   | Determined from data | $N.t                                                       |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_106) |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | # bytes in next field           | 4 bytes              | unsigned 30-bit 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_107                                                     |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | metadata                        | Determined from data | $X_1689                                                    |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_81                  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1553                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1418                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_104                 |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1278                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_103                 |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_979                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_97                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_979                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | output_proof          | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_824                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_recover_bond (tag 207)
-    ===================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | staker        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_684                 |
-    +---------------+----------------------+------------------------+
-
-
-    Dal_publish_commitment (tag 230)
-    ================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | slot_header   | 145 bytes            | $X_96                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_548                 |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_93                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | metadata              | Determined from data | $X_407                                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    Zk_rollup_publish (tag 251)
-    ===========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | zk_rollup             | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op                    | Variable             | sequence of $X_87                  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_264                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_79                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_118                 |
-    +---------------+----------------------+------------------------+
-
-
-    X_3224 (Variable, 8-bit tag)
-    ****************************
-
-    Operation_with_metadata (tag 0)
-    ===============================
-
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                |
-    +=======================+==========+=========================================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                                                  |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.operation_contents_and_result |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | signature             | Variable | bytes                                                                   |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-
-
-    Operation_without_metadata (tag 1)
-    ==================================
-
-    +-----------------------+----------+----------------------------------------------------+
-    | Name                  | Size     | Contents                                           |
-    +=======================+==========+====================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                             |
-    +-----------------------+----------+----------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                 |
-    +-----------------------+----------+----------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.contents |
-    +-----------------------+----------+----------------------------------------------------+
-    | signature             | Variable | bytes                                              |
-    +-----------------------+----------+----------------------------------------------------+
-
-
-    bls_signature_prefix (33 bytes, 8-bit tag)
-    ******************************************
-
-    Bls_prefix (tag 3)
-    ==================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | 32 bytes | bytes                  |
-    +-----------------+----------+------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $raw_block_header                  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | bh2                   | Variable | $raw_block_header                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Activate_account (tag 4)
-    ========================
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | pkh    | 20 bytes | bytes                  |
-    +--------+----------+------------------------+
-    | secret | 20 bytes | bytes                  |
-    +--------+----------+------------------------+
-
-
-    Proposals (tag 5)
-    =================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | source                | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | period                | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_109                 |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_108                              |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_106) |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-    | # 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_107                                                     |
-    +---------------------------------+----------------------+------------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_81                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_104                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_103                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_97                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_96                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_93                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_87                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_79                  |
-    +---------------+----------------------+------------------------+
-
-
-    Signature_prefix (tag 255)
-    ==========================
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | Tag              | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | signature_prefix | 33 bytes | $bls_signature_prefix  |
-    +------------------+----------+------------------------+
-
-
-    X_3287 (Variable, 8-bit tag)
-    ****************************
-
-    Operation with too large metadata (tag 0)
-    =========================================
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | Tag                           | 1 byte   | unsigned 8-bit integer                                                 |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-
-    Operation without metadata (tag 1)
-    ==================================
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | Tag                           | 1 byte   | unsigned 8-bit integer                                                 |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-
-    Operation with metadata (tag 2)
-    ===============================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | Variable | $X_3224                |
-    +-----------------+----------+------------------------+
-
-
-    operation
-    *********
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | chain_id              | 4 bytes  | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | hash                  | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | branch                | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | $X_3287                            |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_78
-    ****
-
-    +--------------------------+----------+------------------------------------+
-    | 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 $operation             |
-    +--------------------------+----------+------------------------------------+
-
-    
-
- - -.. _GET_..--block_id--context--adaptive_issuance_launch_cycle : - -**GET ..//context/adaptive_issuance_launch_cycle** - -.. raw:: html - -
- - -
-

- Returns the cycle at which the launch of the Adaptive Issuance feature is set to happen. A result of None means that the feature is not yet set to launch.

-
-
-
-    integer ∈ [-2^31-1, 2^31] /* Some */ || null /* None */
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Tag             | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | Unnamed field 0 | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--big_maps--big_map_id : - -**GET ..//context/big_maps/?[offset=]&[length=]** - -.. raw:: html - -
- - -
-

- Get the (optionally paginated) list of values in a big map. Order of values is unspecified, but is guaranteed to be consistent.

Optional query arguments :

  • offset = <uint> : Skip the first [offset] values. Useful in combination with [length] for pagination.
  • length = <uint> : Only retrieve [length] values. Useful in combination with [offset] for pagination.

-
-
-
-    [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+-------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                    |
-    +=======================+==========+=============================================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                          |
-    +-----------------------+----------+-------------------------------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------+-------------------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - -.. _GET_..--block_id--context--big_maps--big_map_id--script_expr : - -**GET ..//context/big_maps//** - -.. raw:: html - -
- - -
-

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

-
-
-
-    $micheline.021-PsQuebec.michelson_v1.expression
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+-------------------------------------------------+
-    | Name            | Size                 | Contents                                        |
-    +=================+======================+=================================================+
-    | Unnamed field 0 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - -.. _POST_..--block_id--context--big_maps--big_map_id--script_expr--normalized : - -**POST ..//context/big_maps///normalized** - -.. raw:: html - -
- - - - -
-

- Access the value associated with a key in a big map, normalize the output using the requested unparsing mode.

-
-
-
-    { "unparsing_mode": "Readable" || "Optimized" || "Optimized_legacy" }
-
-
-
-    +----------------+--------+----------+
-    | Name           | Size   | Contents |
-    +================+========+==========+
-    | unparsing_mode | 1 byte | $X_0     |
-    +----------------+--------+----------+
-
-
-    X_0 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
-
-
-    $micheline.021-PsQuebec.michelson_v1.expression
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+-------------------------------------------------+
-    | Name            | Size                 | Contents                                        |
-    +=================+======================+=================================================+
-    | Unnamed field 0 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--cache--contracts--all : - -**GET ..//context/cache/contracts/all** - -.. raw:: html - -
- - -
-

- Return the list of cached contracts

-
-
-
-    [ [ $Contract_hash, integer ∈ [-2^30, 2^30] ] ... ]
-    $Contract_hash:
-      /* A contract ID (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------+----------+-------------------------------------------------------------------------+
-    | Name            | Size     | Contents                                                                |
-    +=================+==========+=========================================================================+
-    | Unnamed field 0 | 20 bytes | bytes                                                                   |
-    +-----------------+----------+-------------------------------------------------------------------------+
-    | Unnamed field 1 | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------+----------+-------------------------------------------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--context--cache--contracts--rank : - -**POST ..//context/cache/contracts/rank** - -.. raw:: html - -
- - - - -
-

- Return the number of cached contracts older than the provided contract

-
-
-
-    $unistring
-    /* A contract handle -- originated account
-       A contract notation as given to an RPC or inside scripts. Can be a
-       base58 originated contract hash. */
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------+----------+
-    | Name            | Size     | Contents |
-    +=================+==========+==========+
-    | Unnamed field 0 | 22 bytes | $X_0     |
-    +-----------------+----------+----------+
-
-
-    X_0 (22 bytes, 8-bit tag)
-    *************************
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-    
-
-
-
-    integer ∈ [-2^30, 2^30] /* Some */ || null /* None */
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+---------+-------------------------------------------------------------------------+
-    | Name            | Size    | Contents                                                                |
-    +=================+=========+=========================================================================+
-    | Tag             | 1 byte  | unsigned 8-bit integer                                                  |
-    +-----------------+---------+-------------------------------------------------------------------------+
-    | Unnamed field 0 | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------+---------+-------------------------------------------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--cache--contracts--size : - -**GET ..//context/cache/contracts/size** - -.. raw:: html - -
- - -
-

- Return the size of the contract cache

-
-
-
-    integer ∈ [-2^30, 2^30]
-
-
-
-    +-----------------+---------+-------------------------------------------------------------------------+
-    | Name            | Size    | Contents                                                                |
-    +=================+=========+=========================================================================+
-    | Unnamed field 0 | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------+---------+-------------------------------------------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--cache--contracts--size_limit : - -**GET ..//context/cache/contracts/size_limit** - -.. raw:: html - -
- - -
-

- Return the size limit of the contract cache

-
-
-
-    integer ∈ [-2^30, 2^30]
-
-
-
-    +-----------------+---------+-------------------------------------------------------------------------+
-    | Name            | Size    | Contents                                                                |
-    +=================+=========+=========================================================================+
-    | Unnamed field 0 | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------+---------+-------------------------------------------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--constants : - -**GET ..//context/constants** - -.. raw:: html - -
- - -
-

- All constants

-
-
-
-    { "proof_of_work_nonce_size": integer ∈ [0, 255],
-      "nonce_length": integer ∈ [0, 255],
-      "max_anon_ops_per_block": integer ∈ [0, 255],
-      "max_operation_data_length": integer ∈ [-2^30, 2^30],
-      "max_proposals_per_delegate": integer ∈ [0, 255],
-      "max_micheline_node_count": integer ∈ [-2^30, 2^30],
-      "max_micheline_bytes_limit": integer ∈ [-2^30, 2^30],
-      "max_allowed_global_constants_depth": integer ∈ [-2^30, 2^30],
-      "cache_layout_size": integer ∈ [0, 255],
-      "michelson_maximum_type_size": integer ∈ [0, 2^16-1],
-      "max_slashing_period": integer ∈ [0, 255],
-      "smart_rollup_max_wrapped_proof_binary_size": integer ∈ [-2^30, 2^30],
-      "smart_rollup_message_size_limit": integer ∈ [-2^30, 2^30],
-      "smart_rollup_max_number_of_messages_per_level": $positive_bignum,
-      "consensus_rights_delay": integer ∈ [0, 255],
-      "blocks_preservation_cycles": integer ∈ [0, 255],
-      "delegate_parameters_activation_delay": integer ∈ [0, 255],
-      "blocks_per_cycle": integer ∈ [-2^31-1, 2^31],
-      "blocks_per_commitment": integer ∈ [-2^31-1, 2^31],
-      "nonce_revelation_threshold": integer ∈ [-2^31-1, 2^31],
-      "cycles_per_voting_period": integer ∈ [-2^31-1, 2^31],
-      "hard_gas_limit_per_operation": $bignum,
-      "hard_gas_limit_per_block": $bignum,
-      "proof_of_work_threshold": $int64,
-      "minimal_stake": $021-PsQuebec.mutez,
-      "minimal_frozen_stake": $021-PsQuebec.mutez,
-      "vdf_difficulty": $int64,
-      "origination_size": integer ∈ [-2^30, 2^30],
-      "issuance_weights":
-        { "base_total_issued_per_minute": $021-PsQuebec.mutez,
-          "baking_reward_fixed_portion_weight": integer ∈ [-2^30, 2^30],
-          "baking_reward_bonus_weight": integer ∈ [-2^30, 2^30],
-          "attesting_reward_weight": integer ∈ [-2^30, 2^30],
-          "seed_nonce_revelation_tip_weight": integer ∈ [-2^30, 2^30],
-          "vdf_revelation_tip_weight": integer ∈ [-2^30, 2^30] },
-      "cost_per_byte": $021-PsQuebec.mutez,
-      "hard_storage_limit_per_operation": $bignum,
-      "quorum_min": integer ∈ [-2^31-1, 2^31],
-      "quorum_max": integer ∈ [-2^31-1, 2^31],
-      "min_proposal_quorum": integer ∈ [-2^31-1, 2^31],
-      "liquidity_baking_subsidy": $021-PsQuebec.mutez,
-      "liquidity_baking_toggle_ema_threshold": integer ∈ [-2^31-1, 2^31],
-      "max_operations_time_to_live": integer ∈ [-2^15, 2^15-1],
-      "minimal_block_delay": $int64,
-      "delay_increment_per_round": $int64,
-      "consensus_committee_size": integer ∈ [-2^30, 2^30],
-      "consensus_threshold": integer ∈ [-2^30, 2^30],
-      "minimal_participation_ratio":
-        { "numerator": integer ∈ [0, 2^16-1],
-          "denominator": integer ∈ [0, 2^16-1] },
-      "limit_of_delegation_over_baking": integer ∈ [0, 255],
-      "percentage_of_frozen_deposits_slashed_per_double_baking":
-        integer ∈ [0, 2^16-1],
-      "percentage_of_frozen_deposits_slashed_per_double_attestation":
-        integer ∈ [0, 2^16-1],
-      "max_slashing_per_block": integer ∈ [0, 2^16-1],
-      "max_slashing_threshold": integer ∈ [-2^30, 2^30],
-      "testnet_dictator"?: $Signature.Public_key_hash,
-      "initial_seed"?: $random,
-      "cache_script_size": integer ∈ [-2^30, 2^30],
-      "cache_stake_distribution_cycles": integer ∈ [-128, 127],
-      "cache_sampler_state_cycles": integer ∈ [-128, 127],
-      "dal_parametric":
-        { "feature_enable": boolean,
-          "incentives_enable": boolean,
-          "number_of_slots": integer ∈ [0, 2^16-1],
-          "attestation_lag": integer ∈ [0, 255],
-          "attestation_threshold": integer ∈ [0, 255],
-          "redundancy_factor": integer ∈ [0, 255],
-          "page_size": integer ∈ [0, 2^16-1],
-          "slot_size": integer ∈ [-2^30, 2^30],
-          "number_of_shards": integer ∈ [0, 2^16-1] },
-      "smart_rollup_arith_pvm_enable": boolean,
-      "smart_rollup_origination_size": integer ∈ [-2^30, 2^30],
-      "smart_rollup_challenge_window_in_blocks": integer ∈ [-2^30, 2^30],
-      "smart_rollup_stake_amount": $021-PsQuebec.mutez,
-      "smart_rollup_commitment_period_in_blocks": integer ∈ [-2^30, 2^30],
-      "smart_rollup_max_lookahead_in_blocks": integer ∈ [-2^31-1, 2^31],
-      "smart_rollup_max_active_outbox_levels": integer ∈ [-2^31-1, 2^31],
-      "smart_rollup_max_outbox_messages_per_level": integer ∈ [-2^30, 2^30],
-      "smart_rollup_number_of_sections_in_dissection": integer ∈ [0, 255],
-      "smart_rollup_timeout_period_in_blocks": integer ∈ [-2^30, 2^30],
-      "smart_rollup_max_number_of_cemented_commitments":
-        integer ∈ [-2^30, 2^30],
-      "smart_rollup_max_number_of_parallel_games": integer ∈ [-2^30, 2^30],
-      "smart_rollup_reveal_activation_level":
-        { "raw_data": { "Blake2B": integer ∈ [0, 2^31] },
-          "metadata": integer ∈ [0, 2^31],
-          "dal_page": integer ∈ [0, 2^31],
-          "dal_parameters": integer ∈ [0, 2^31],
-          "dal_attested_slots_validity_lag": integer ∈ [-2^30, 2^30] },
-      "smart_rollup_private_enable": boolean,
-      "smart_rollup_riscv_pvm_enable": boolean,
-      "zk_rollup_enable": boolean,
-      "zk_rollup_origination_size": integer ∈ [-2^30, 2^30],
-      "zk_rollup_min_pending_to_process": integer ∈ [-2^30, 2^30],
-      "zk_rollup_max_ticket_payload_size": integer ∈ [-2^30, 2^30],
-      "global_limit_of_staking_over_baking": integer ∈ [0, 255],
-      "edge_of_staking_over_delegation": integer ∈ [0, 255],
-      "adaptive_issuance_launch_ema_threshold": integer ∈ [-2^31-1, 2^31],
-      "adaptive_rewards_params":
-        { "issuance_ratio_final_min":
-            { "numerator": $bignum,
-              "denominator": $bignum },
-          "issuance_ratio_final_max":
-            { "numerator": $bignum,
-              "denominator": $bignum },
-          "issuance_ratio_initial_min":
-            { "numerator": $bignum,
-              "denominator": $bignum },
-          "issuance_ratio_initial_max":
-            { "numerator": $bignum,
-              "denominator": $bignum },
-          "initial_period": integer ∈ [0, 255],
-          "transition_period": integer ∈ [0, 255],
-          "max_bonus": $int64,
-          "growth_rate": { "numerator": $bignum,
-                           "denominator": $bignum },
-          "center_dz": { "numerator": $bignum,
-                         "denominator": $bignum },
-          "radius_dz": { "numerator": $bignum,
-                         "denominator": $bignum } },
-      "adaptive_issuance_activation_vote_enable": boolean,
-      "autostaking_enable": boolean,
-      "adaptive_issuance_force_activation": boolean,
-      "ns_enable": boolean,
-      "direct_ticket_spending_enable": boolean }
-    $021-PsQuebec.mutez: $positive_bignum
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $random:
-      /* A random generation state (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                         | Size                 | Contents                                                                |
-    +==============================================================+======================+=========================================================================+
-    | proof_of_work_nonce_size                                     | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | nonce_length                                                 | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_anon_ops_per_block                                       | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_operation_data_length                                    | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_proposals_per_delegate                                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_micheline_node_count                                     | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_micheline_bytes_limit                                    | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_allowed_global_constants_depth                           | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cache_layout_size                                            | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | michelson_maximum_type_size                                  | 2 bytes              | unsigned 16-bit big-endian integer                                      |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_slashing_period                                          | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_wrapped_proof_binary_size                   | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_message_size_limit                              | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_number_of_messages_per_level                | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | consensus_rights_delay                                       | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | blocks_preservation_cycles                                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | delegate_parameters_activation_delay                         | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | blocks_per_cycle                                             | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | blocks_per_commitment                                        | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | nonce_revelation_threshold                                   | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cycles_per_voting_period                                     | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | hard_gas_limit_per_operation                                 | Determined from data | $Z.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | hard_gas_limit_per_block                                     | Determined from data | $Z.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | proof_of_work_threshold                                      | 8 bytes              | signed 64-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_stake                                                | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_frozen_stake                                         | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | vdf_difficulty                                               | 8 bytes              | signed 64-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | origination_size                                             | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | issuance_weights                                             | Determined from data | $X_0                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cost_per_byte                                                | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | hard_storage_limit_per_operation                             | Determined from data | $Z.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | quorum_min                                                   | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | quorum_max                                                   | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | min_proposal_quorum                                          | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | liquidity_baking_subsidy                                     | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | liquidity_baking_toggle_ema_threshold                        | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_operations_time_to_live                                  | 2 bytes              | signed 16-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_block_delay                                          | 8 bytes              | signed 64-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | delay_increment_per_round                                    | 8 bytes              | signed 64-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | consensus_committee_size                                     | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | consensus_threshold                                          | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_participation_ratio                                  | 4 bytes              | $X_1                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | limit_of_delegation_over_baking                              | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | percentage_of_frozen_deposits_slashed_per_double_baking      | 2 bytes              | unsigned 16-bit big-endian integer                                      |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | percentage_of_frozen_deposits_slashed_per_double_attestation | 2 bytes              | unsigned 16-bit big-endian integer                                      |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_slashing_per_block                                       | 2 bytes              | unsigned 16-bit big-endian integer                                      |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_slashing_threshold                                       | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | ? presence of field "testnet_dictator"                       | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | testnet_dictator                                             | 21 bytes             | $public_key_hash                                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | ? presence of field "initial_seed"                           | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | initial_seed                                                 | 32 bytes             | bytes                                                                   |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cache_script_size                                            | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cache_stake_distribution_cycles                              | 1 byte               | signed 8-bit integer                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cache_sampler_state_cycles                                   | 1 byte               | signed 8-bit integer                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | dal_parametric                                               | 15 bytes             | $X_2                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_arith_pvm_enable                                | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_origination_size                                | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_challenge_window_in_blocks                      | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_stake_amount                                    | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_commitment_period_in_blocks                     | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_lookahead_in_blocks                         | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_active_outbox_levels                        | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_outbox_messages_per_level                   | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_number_of_sections_in_dissection                | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_timeout_period_in_blocks                        | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_number_of_cemented_commitments              | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_number_of_parallel_games                    | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_reveal_activation_level                         | 20 bytes             | $X_3                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_private_enable                                  | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_riscv_pvm_enable                                | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | zk_rollup_enable                                             | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | zk_rollup_origination_size                                   | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | zk_rollup_min_pending_to_process                             | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | zk_rollup_max_ticket_payload_size                            | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | global_limit_of_staking_over_baking                          | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | edge_of_staking_over_delegation                              | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | adaptive_issuance_launch_ema_threshold                       | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | adaptive_rewards_params                                      | Determined from data | $X_4                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | adaptive_issuance_activation_vote_enable                     | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | autostaking_enable                                           | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | adaptive_issuance_force_activation                           | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | ns_enable                                                    | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | direct_ticket_spending_enable                                | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                               | Size                 | Contents                                                                |
-    +====================================+======================+=========================================================================+
-    | base_total_issued_per_minute       | Determined from data | $N.t                                                                    |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | baking_reward_fixed_portion_weight | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | baking_reward_bonus_weight         | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | attesting_reward_weight            | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | seed_nonce_revelation_tip_weight   | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | vdf_revelation_tip_weight          | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1
-    ***
-
-    +-------------+---------+------------------------------------+
-    | Name        | Size    | Contents                           |
-    +=============+=========+====================================+
-    | numerator   | 2 bytes | unsigned 16-bit big-endian integer |
-    +-------------+---------+------------------------------------+
-    | denominator | 2 bytes | unsigned 16-bit big-endian integer |
-    +-------------+---------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_2
-    ***
-
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | Name                  | Size    | Contents                                                                |
-    +=======================+=========+=========================================================================+
-    | feature_enable        | 1 byte  | boolean (0 for false, 255 for true)                                     |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | incentives_enable     | 1 byte  | boolean (0 for false, 255 for true)                                     |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | number_of_slots       | 2 bytes | unsigned 16-bit big-endian integer                                      |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | attestation_lag       | 1 byte  | unsigned 8-bit integer                                                  |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | attestation_threshold | 1 byte  | unsigned 8-bit integer                                                  |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | redundancy_factor     | 1 byte  | unsigned 8-bit integer                                                  |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | page_size             | 2 bytes | unsigned 16-bit big-endian integer                                      |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | slot_size             | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | number_of_shards      | 2 bytes | unsigned 16-bit big-endian integer                                      |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-
-
-    X_3
-    ***
-
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | Name                            | Size    | Contents                                                                |
-    +=================================+=========+=========================================================================+
-    | raw_data                        | 4 bytes | signed 32-bit big-endian integer                                        |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | metadata                        | 4 bytes | signed 32-bit big-endian integer                                        |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | dal_page                        | 4 bytes | signed 32-bit big-endian integer                                        |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | dal_parameters                  | 4 bytes | signed 32-bit big-endian integer                                        |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | dal_attested_slots_validity_lag | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-
-
-    X_5
-    ***
-
-    +-------------+----------------------+----------+
-    | Name        | Size                 | Contents |
-    +=============+======================+==========+
-    | numerator   | Determined from data | $Z.t     |
-    +-------------+----------------------+----------+
-    | denominator | Determined from data | $Z.t     |
-    +-------------+----------------------+----------+
-
-
-    X_4
-    ***
-
-    +----------------------------+----------------------+----------------------------------+
-    | Name                       | Size                 | Contents                         |
-    +============================+======================+==================================+
-    | issuance_ratio_final_min   | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | issuance_ratio_final_max   | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | issuance_ratio_initial_min | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | issuance_ratio_initial_max | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | initial_period             | 1 byte               | unsigned 8-bit integer           |
-    +----------------------------+----------------------+----------------------------------+
-    | transition_period          | 1 byte               | unsigned 8-bit integer           |
-    +----------------------------+----------------------+----------------------------------+
-    | max_bonus                  | 8 bytes              | signed 64-bit big-endian integer |
-    +----------------------------+----------------------+----------------------------------+
-    | growth_rate                | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | center_dz                  | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | radius_dz                  | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-
-    
-
- - -.. _GET_..--block_id--context--constants--errors : - -**GET ..//context/constants/errors** - -.. raw:: html - -
- - -
-

- Schema for all the RPC errors from this protocol version

-
-
-
-    any
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--constants--parametric : - -**GET ..//context/constants/parametric** - -.. raw:: html - -
- - -
-

- Parametric constants

-
-
-
-    { "consensus_rights_delay": integer ∈ [0, 255],
-      "blocks_preservation_cycles": integer ∈ [0, 255],
-      "delegate_parameters_activation_delay": integer ∈ [0, 255],
-      "blocks_per_cycle": integer ∈ [-2^31-1, 2^31],
-      "blocks_per_commitment": integer ∈ [-2^31-1, 2^31],
-      "nonce_revelation_threshold": integer ∈ [-2^31-1, 2^31],
-      "cycles_per_voting_period": integer ∈ [-2^31-1, 2^31],
-      "hard_gas_limit_per_operation": $bignum,
-      "hard_gas_limit_per_block": $bignum,
-      "proof_of_work_threshold": $int64,
-      "minimal_stake": $021-PsQuebec.mutez,
-      "minimal_frozen_stake": $021-PsQuebec.mutez,
-      "vdf_difficulty": $int64,
-      "origination_size": integer ∈ [-2^30, 2^30],
-      "issuance_weights":
-        { "base_total_issued_per_minute": $021-PsQuebec.mutez,
-          "baking_reward_fixed_portion_weight": integer ∈ [-2^30, 2^30],
-          "baking_reward_bonus_weight": integer ∈ [-2^30, 2^30],
-          "attesting_reward_weight": integer ∈ [-2^30, 2^30],
-          "seed_nonce_revelation_tip_weight": integer ∈ [-2^30, 2^30],
-          "vdf_revelation_tip_weight": integer ∈ [-2^30, 2^30] },
-      "cost_per_byte": $021-PsQuebec.mutez,
-      "hard_storage_limit_per_operation": $bignum,
-      "quorum_min": integer ∈ [-2^31-1, 2^31],
-      "quorum_max": integer ∈ [-2^31-1, 2^31],
-      "min_proposal_quorum": integer ∈ [-2^31-1, 2^31],
-      "liquidity_baking_subsidy": $021-PsQuebec.mutez,
-      "liquidity_baking_toggle_ema_threshold": integer ∈ [-2^31-1, 2^31],
-      "max_operations_time_to_live": integer ∈ [-2^15, 2^15-1],
-      "minimal_block_delay": $int64,
-      "delay_increment_per_round": $int64,
-      "consensus_committee_size": integer ∈ [-2^30, 2^30],
-      "consensus_threshold": integer ∈ [-2^30, 2^30],
-      "minimal_participation_ratio":
-        { "numerator": integer ∈ [0, 2^16-1],
-          "denominator": integer ∈ [0, 2^16-1] },
-      "limit_of_delegation_over_baking": integer ∈ [0, 255],
-      "percentage_of_frozen_deposits_slashed_per_double_baking":
-        integer ∈ [0, 2^16-1],
-      "percentage_of_frozen_deposits_slashed_per_double_attestation":
-        integer ∈ [0, 2^16-1],
-      "max_slashing_per_block": integer ∈ [0, 2^16-1],
-      "max_slashing_threshold": integer ∈ [-2^30, 2^30],
-      "testnet_dictator"?: $Signature.Public_key_hash,
-      "initial_seed"?: $random,
-      "cache_script_size": integer ∈ [-2^30, 2^30],
-      "cache_stake_distribution_cycles": integer ∈ [-128, 127],
-      "cache_sampler_state_cycles": integer ∈ [-128, 127],
-      "dal_parametric":
-        { "feature_enable": boolean,
-          "incentives_enable": boolean,
-          "number_of_slots": integer ∈ [0, 2^16-1],
-          "attestation_lag": integer ∈ [0, 255],
-          "attestation_threshold": integer ∈ [0, 255],
-          "redundancy_factor": integer ∈ [0, 255],
-          "page_size": integer ∈ [0, 2^16-1],
-          "slot_size": integer ∈ [-2^30, 2^30],
-          "number_of_shards": integer ∈ [0, 2^16-1] },
-      "smart_rollup_arith_pvm_enable": boolean,
-      "smart_rollup_origination_size": integer ∈ [-2^30, 2^30],
-      "smart_rollup_challenge_window_in_blocks": integer ∈ [-2^30, 2^30],
-      "smart_rollup_stake_amount": $021-PsQuebec.mutez,
-      "smart_rollup_commitment_period_in_blocks": integer ∈ [-2^30, 2^30],
-      "smart_rollup_max_lookahead_in_blocks": integer ∈ [-2^31-1, 2^31],
-      "smart_rollup_max_active_outbox_levels": integer ∈ [-2^31-1, 2^31],
-      "smart_rollup_max_outbox_messages_per_level": integer ∈ [-2^30, 2^30],
-      "smart_rollup_number_of_sections_in_dissection": integer ∈ [0, 255],
-      "smart_rollup_timeout_period_in_blocks": integer ∈ [-2^30, 2^30],
-      "smart_rollup_max_number_of_cemented_commitments":
-        integer ∈ [-2^30, 2^30],
-      "smart_rollup_max_number_of_parallel_games": integer ∈ [-2^30, 2^30],
-      "smart_rollup_reveal_activation_level":
-        { "raw_data": { "Blake2B": integer ∈ [0, 2^31] },
-          "metadata": integer ∈ [0, 2^31],
-          "dal_page": integer ∈ [0, 2^31],
-          "dal_parameters": integer ∈ [0, 2^31],
-          "dal_attested_slots_validity_lag": integer ∈ [-2^30, 2^30] },
-      "smart_rollup_private_enable": boolean,
-      "smart_rollup_riscv_pvm_enable": boolean,
-      "zk_rollup_enable": boolean,
-      "zk_rollup_origination_size": integer ∈ [-2^30, 2^30],
-      "zk_rollup_min_pending_to_process": integer ∈ [-2^30, 2^30],
-      "zk_rollup_max_ticket_payload_size": integer ∈ [-2^30, 2^30],
-      "global_limit_of_staking_over_baking": integer ∈ [0, 255],
-      "edge_of_staking_over_delegation": integer ∈ [0, 255],
-      "adaptive_issuance_launch_ema_threshold": integer ∈ [-2^31-1, 2^31],
-      "adaptive_rewards_params":
-        { "issuance_ratio_final_min":
-            { "numerator": $bignum,
-              "denominator": $bignum },
-          "issuance_ratio_final_max":
-            { "numerator": $bignum,
-              "denominator": $bignum },
-          "issuance_ratio_initial_min":
-            { "numerator": $bignum,
-              "denominator": $bignum },
-          "issuance_ratio_initial_max":
-            { "numerator": $bignum,
-              "denominator": $bignum },
-          "initial_period": integer ∈ [0, 255],
-          "transition_period": integer ∈ [0, 255],
-          "max_bonus": $int64,
-          "growth_rate": { "numerator": $bignum,
-                           "denominator": $bignum },
-          "center_dz": { "numerator": $bignum,
-                         "denominator": $bignum },
-          "radius_dz": { "numerator": $bignum,
-                         "denominator": $bignum } },
-      "adaptive_issuance_activation_vote_enable": boolean,
-      "autostaking_enable": boolean,
-      "adaptive_issuance_force_activation": boolean,
-      "ns_enable": boolean,
-      "direct_ticket_spending_enable": boolean }
-    $021-PsQuebec.mutez: $positive_bignum
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $random:
-      /* A random generation state (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                         | Size                 | Contents                                                                |
-    +==============================================================+======================+=========================================================================+
-    | consensus_rights_delay                                       | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | blocks_preservation_cycles                                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | delegate_parameters_activation_delay                         | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | blocks_per_cycle                                             | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | blocks_per_commitment                                        | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | nonce_revelation_threshold                                   | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cycles_per_voting_period                                     | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | hard_gas_limit_per_operation                                 | Determined from data | $Z.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | hard_gas_limit_per_block                                     | Determined from data | $Z.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | proof_of_work_threshold                                      | 8 bytes              | signed 64-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_stake                                                | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_frozen_stake                                         | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | vdf_difficulty                                               | 8 bytes              | signed 64-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | origination_size                                             | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | issuance_weights                                             | Determined from data | $X_0                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cost_per_byte                                                | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | hard_storage_limit_per_operation                             | Determined from data | $Z.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | quorum_min                                                   | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | quorum_max                                                   | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | min_proposal_quorum                                          | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | liquidity_baking_subsidy                                     | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | liquidity_baking_toggle_ema_threshold                        | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_operations_time_to_live                                  | 2 bytes              | signed 16-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_block_delay                                          | 8 bytes              | signed 64-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | delay_increment_per_round                                    | 8 bytes              | signed 64-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | consensus_committee_size                                     | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | consensus_threshold                                          | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_participation_ratio                                  | 4 bytes              | $X_1                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | limit_of_delegation_over_baking                              | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | percentage_of_frozen_deposits_slashed_per_double_baking      | 2 bytes              | unsigned 16-bit big-endian integer                                      |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | percentage_of_frozen_deposits_slashed_per_double_attestation | 2 bytes              | unsigned 16-bit big-endian integer                                      |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_slashing_per_block                                       | 2 bytes              | unsigned 16-bit big-endian integer                                      |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | max_slashing_threshold                                       | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | ? presence of field "testnet_dictator"                       | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | testnet_dictator                                             | 21 bytes             | $public_key_hash                                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | ? presence of field "initial_seed"                           | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | initial_seed                                                 | 32 bytes             | bytes                                                                   |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cache_script_size                                            | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cache_stake_distribution_cycles                              | 1 byte               | signed 8-bit integer                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | cache_sampler_state_cycles                                   | 1 byte               | signed 8-bit integer                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | dal_parametric                                               | 15 bytes             | $X_2                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_arith_pvm_enable                                | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_origination_size                                | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_challenge_window_in_blocks                      | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_stake_amount                                    | Determined from data | $N.t                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_commitment_period_in_blocks                     | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_lookahead_in_blocks                         | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_active_outbox_levels                        | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_outbox_messages_per_level                   | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_number_of_sections_in_dissection                | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_timeout_period_in_blocks                        | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_number_of_cemented_commitments              | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_max_number_of_parallel_games                    | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_reveal_activation_level                         | 20 bytes             | $X_3                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_private_enable                                  | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | smart_rollup_riscv_pvm_enable                                | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | zk_rollup_enable                                             | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | zk_rollup_origination_size                                   | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | zk_rollup_min_pending_to_process                             | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | zk_rollup_max_ticket_payload_size                            | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | global_limit_of_staking_over_baking                          | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | edge_of_staking_over_delegation                              | 1 byte               | unsigned 8-bit integer                                                  |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | adaptive_issuance_launch_ema_threshold                       | 4 bytes              | signed 32-bit big-endian integer                                        |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | adaptive_rewards_params                                      | Determined from data | $X_4                                                                    |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | adaptive_issuance_activation_vote_enable                     | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | autostaking_enable                                           | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | adaptive_issuance_force_activation                           | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | ns_enable                                                    | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | direct_ticket_spending_enable                                | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                               | Size                 | Contents                                                                |
-    +====================================+======================+=========================================================================+
-    | base_total_issued_per_minute       | Determined from data | $N.t                                                                    |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | baking_reward_fixed_portion_weight | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | baking_reward_bonus_weight         | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | attesting_reward_weight            | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | seed_nonce_revelation_tip_weight   | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | vdf_revelation_tip_weight          | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1
-    ***
-
-    +-------------+---------+------------------------------------+
-    | Name        | Size    | Contents                           |
-    +=============+=========+====================================+
-    | numerator   | 2 bytes | unsigned 16-bit big-endian integer |
-    +-------------+---------+------------------------------------+
-    | denominator | 2 bytes | unsigned 16-bit big-endian integer |
-    +-------------+---------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_2
-    ***
-
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | Name                  | Size    | Contents                                                                |
-    +=======================+=========+=========================================================================+
-    | feature_enable        | 1 byte  | boolean (0 for false, 255 for true)                                     |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | incentives_enable     | 1 byte  | boolean (0 for false, 255 for true)                                     |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | number_of_slots       | 2 bytes | unsigned 16-bit big-endian integer                                      |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | attestation_lag       | 1 byte  | unsigned 8-bit integer                                                  |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | attestation_threshold | 1 byte  | unsigned 8-bit integer                                                  |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | redundancy_factor     | 1 byte  | unsigned 8-bit integer                                                  |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | page_size             | 2 bytes | unsigned 16-bit big-endian integer                                      |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | slot_size             | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-    | number_of_shards      | 2 bytes | unsigned 16-bit big-endian integer                                      |
-    +-----------------------+---------+-------------------------------------------------------------------------+
-
-
-    X_3
-    ***
-
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | Name                            | Size    | Contents                                                                |
-    +=================================+=========+=========================================================================+
-    | raw_data                        | 4 bytes | signed 32-bit big-endian integer                                        |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | metadata                        | 4 bytes | signed 32-bit big-endian integer                                        |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | dal_page                        | 4 bytes | signed 32-bit big-endian integer                                        |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | dal_parameters                  | 4 bytes | signed 32-bit big-endian integer                                        |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-    | dal_attested_slots_validity_lag | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +---------------------------------+---------+-------------------------------------------------------------------------+
-
-
-    X_5
-    ***
-
-    +-------------+----------------------+----------+
-    | Name        | Size                 | Contents |
-    +=============+======================+==========+
-    | numerator   | Determined from data | $Z.t     |
-    +-------------+----------------------+----------+
-    | denominator | Determined from data | $Z.t     |
-    +-------------+----------------------+----------+
-
-
-    X_4
-    ***
-
-    +----------------------------+----------------------+----------------------------------+
-    | Name                       | Size                 | Contents                         |
-    +============================+======================+==================================+
-    | issuance_ratio_final_min   | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | issuance_ratio_final_max   | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | issuance_ratio_initial_min | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | issuance_ratio_initial_max | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | initial_period             | 1 byte               | unsigned 8-bit integer           |
-    +----------------------------+----------------------+----------------------------------+
-    | transition_period          | 1 byte               | unsigned 8-bit integer           |
-    +----------------------------+----------------------+----------------------------------+
-    | max_bonus                  | 8 bytes              | signed 64-bit big-endian integer |
-    +----------------------------+----------------------+----------------------------------+
-    | growth_rate                | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | center_dz                  | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-    | radius_dz                  | Determined from data | $X_5                             |
-    +----------------------------+----------------------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts : - -**GET ..//context/contracts** - -.. raw:: html - -
- - -
-

- All existing contracts (excluding empty implicit contracts).

-
-
-
-    [ $021-PsQuebec.contract_id ... ]
-    $021-PsQuebec.contract_id:
-      /* A contract handle
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash or a base58 originated contract hash. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+---------------------------------------+
-    | Name                  | Size     | Contents                              |
-    +=======================+==========+=======================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer    |
-    +-----------------------+----------+---------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $021-PsQuebec.contract_id |
-    +-----------------------+----------+---------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-    
-
- - -.. _GET_..--block_id--context--contracts--contract_id : - -**GET ..//context/contracts/?[normalize_types]** - -.. raw:: html - -
- - -
-

- Access the complete status of a contract.

Optional query arguments :

  • normalize_types : Whether types should be normalized (annotations removed, combs flattened) or kept as they appeared in the original script.

-
-
-
-    { "balance": $021-PsQuebec.mutez,
-      "delegate"?: $Signature.Public_key_hash,
-      "script"?: $021-PsQuebec.scripted.contracts,
-      "counter"?: $positive_bignum }
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "script"   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "counter"  | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - -.. _GET_..--block_id--context--contracts--contract_id--all_ticket_balances : - -**GET ..//context/contracts//all_ticket_balances** - -.. raw:: html - -
- - -
-

- Access the complete list of tickets owned by the given contract by scanning the contract's storage.

-
-
-
-    [ { "ticketer": $021-PsQuebec.contract_id,
-        "content_type": $micheline.021-PsQuebec.michelson_v1.expression,
-        "content": $micheline.021-PsQuebec.michelson_v1.expression,
-        "amount": $positive_bignum } ... ]
-    $021-PsQuebec.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
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | amount       | Determined from data | $N.t                                            |
-    +--------------+----------------------+-------------------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--balance : - -**GET ..//context/contracts//balance** - -.. raw:: html - -
- - -
-

- The spendable balance of a contract (in mutez), also known as liquid balance. Corresponds to tez owned by the contract that are neither staked, nor in unstaked requests, nor in frozen bonds. Identical to the 'spendable' RPC.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--balance_and_frozen_bonds : - -**GET ..//context/contracts//balance_and_frozen_bonds** - -.. raw:: html - -
- - -
-

- The sum (in mutez) of the spendable balance and frozen bonds of a contract. Corresponds to the contract's full balance from which staked funds and unstake requests have been excluded. Identical to the 'spendable_and_frozen_bonds' RPC.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _POST_..--block_id--context--contracts--contract_id--big_map_get : - -**POST ..//context/contracts//big_map_get** - -.. raw:: html - -
- - - - -
-

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

-
-
-
-    { "key": $micheline.021-PsQuebec.michelson_v1.expression,
-      "type": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +------+----------------------+-------------------------------------------------+
-    | Name | Size                 | Contents                                        |
-    +======+======================+=================================================+
-    | key  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-    | type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    $micheline.021-PsQuebec.michelson_v1.expression
-    /* Some */
-    || null
-    /* None */
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_1     |
-    +-----------------+----------------------+----------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+-------------------------------------------------+
-    | Name            | Size                 | Contents                                        |
-    +=================+======================+=================================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------+----------------------+-------------------------------------------------+
-    | Unnamed field 0 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------+----------------------+-------------------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--counter : - -**GET ..//context/contracts//counter** - -.. raw:: html - -
- - -
-

- Access the counter of a contract, if any.

-
-
-
-    string
-    /* Positive big number
-       Decimal representation of a positive big number */
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--delegate : - -**GET ..//context/contracts//delegate** - -.. raw:: html - -
- - -
-

- Access the delegate of a contract, if any.

-
-
-
-    $unistring
-    /* A Ed25519, Secp256k1, P256, or BLS public key hash (Base58Check-encoded) */
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------+----------+------------------+
-    | Name                      | Size     | Contents         |
-    +===========================+==========+==================+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash |
-    +---------------------------+----------+------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--entrypoints : - -**GET ..//context/contracts//entrypoints?[normalize_types]** - -.. raw:: html - -
- - -
-

- Return the list of entrypoints of the contract

Optional query arguments :

  • normalize_types : Whether types should be normalized (annotations removed, combs flattened) or kept as they appeared in the original script.

-
-
-
-    { "unreachable"?:
-        [ { "path": [ $021-PsQuebec.michelson.v1.primitives ... ] } ... ],
-      "entrypoints": { *: $micheline.021-PsQuebec.michelson_v1.expression } }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | unreachable           | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | entrypoints           | Variable | sequence of $X_1                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------+-------------------------------------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                                              |
-    +=======================+==========+=======================================================================================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                                    |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------------------+
-    | Unnamed field 0       | Variable | sequence of unsigned 8-bit integer encoding an enumeration (see 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------------------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------+----------------------+-------------------------------------------------+
-    | Name            | Size                 | Contents                                        |
-    +=================+======================+=================================================+
-    | Unnamed field 0 | Determined from data | $X_2                                            |
-    +-----------------+----------------------+-------------------------------------------------+
-    | Unnamed field 1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------+----------------------+-------------------------------------------------+
-
-    
-
- - -.. _GET_..--block_id--context--contracts--contract_id--entrypoints--entrypoint : - -**GET ..//context/contracts//entrypoints/?[normalize_types]** - -.. raw:: html - -
- - -
-

- Return the type of the given entrypoint of the contract

Optional query arguments :

  • normalize_types : Whether types should be normalized (annotations removed, combs flattened) or kept as they appeared in the original script.

-
-
-
-    $micheline.021-PsQuebec.michelson_v1.expression
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+-------------------------------------------------+
-    | Name            | Size                 | Contents                                        |
-    +=================+======================+=================================================+
-    | Unnamed field 0 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--estimated_own_pending_slashed_amount : - -**GET ..//context/contracts//estimated_own_pending_slashed_amount** - -.. raw:: html - -
- - -
-

- Returns the estimated own pending slashed amount (in mutez) of a given contract.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--frozen_bonds : - -**GET ..//context/contracts//frozen_bonds** - -.. raw:: html - -
- - -
-

- Access the frozen bonds of a contract.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--full_balance : - -**GET ..//context/contracts//full_balance** - -.. raw:: html - -
- - -
-

- The full balance (in mutez) of the contract. Includes its spendable balance, staked tez, unstake requests, and frozen bonds. Even if the contract is a delegate, it does not include any staked or delegated tez owned by external delegators.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--manager_key : - -**GET ..//context/contracts//manager_key** - -.. raw:: html - -
- - -
-

- Access the manager of an implicit contract.

-
-
-
-    $Signature.Public_key /* Some */ || null /* None */
-    $Signature.Public_key:
-      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    public_key (Determined from data, 8-bit tag)
-    ********************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +--------------------+----------+------------------------+
-    | Name               | Size     | Contents               |
-    +====================+==========+========================+
-    | Tag                | 1 byte   | unsigned 8-bit integer |
-    +--------------------+----------+------------------------+
-    | Ed25519.Public_key | 32 bytes | bytes                  |
-    +--------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | Secp256k1.Public_key | 33 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | P256.Public_key | 33 bytes | bytes                  |
-    +-----------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | Bls12_381.Public_key | 48 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------------------+----------------------+------------------------+
-    | Name                 | Size                 | Contents               |
-    +======================+======================+========================+
-    | Tag                  | 1 byte               | unsigned 8-bit integer |
-    +----------------------+----------------------+------------------------+
-    | Signature.Public_key | Determined from data | $public_key            |
-    +----------------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--script : - -**GET ..//context/contracts//script** - -.. raw:: html - -
- - -
-

- Access the code and data of the contract.

-
-
-
-    { "code": any,
-      "storage": any }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | 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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - -.. _POST_..--block_id--context--contracts--contract_id--script--normalized : - -**POST ..//context/contracts//script/normalized** - -.. raw:: html - -
- - - - -
-

- Access the script of the contract and normalize it using the requested unparsing mode.

-
-
-
-    { "unparsing_mode": "Readable" || "Optimized" || "Optimized_legacy",
-      "normalize_types"?: boolean }
-
-
-
-    +-----------------+--------+-------------------------------------+
-    | Name            | Size   | Contents                            |
-    +=================+========+=====================================+
-    | unparsing_mode  | 1 byte | $X_0                                |
-    +-----------------+--------+-------------------------------------+
-    | normalize_types | 1 byte | boolean (0 for false, 255 for true) |
-    +-----------------+--------+-------------------------------------+
-
-
-    X_0 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
-
-
-    $021-PsQuebec.scripted.contracts /* Some */ || null /* None */
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # 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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--single_sapling_get_diff : - -**GET ..//context/contracts//single_sapling_get_diff?[offset_commitment=]&[offset_nullifier=]** - -.. raw:: html - -
- - -
-

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

Optional query arguments :

  • offset_commitment = <uint63> : Commitments and ciphertexts are returned from the specified offset up to the most recent.
  • offset_nullifier = <uint63> : Nullifiers are returned from the specified offset up to the most recent.

-
-
-
-    { "root": $sapling.transaction.commitment_hash,
-      "commitments_and_ciphertexts":
-        [ [ $sapling.transaction.commitment, $sapling.transaction.ciphertext ] ... ],
-      "nullifiers": [ $sapling.transaction.nullifier ... ] }
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_hash: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-
-
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | root                        | 32 bytes | bytes                              |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_0                   |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--spendable : - -**GET ..//context/contracts//spendable** - -.. raw:: html - -
- - -
-

- The spendable balance of a contract (in mutez), also known as liquid balance. Corresponds to tez owned by the contract that are neither staked, nor in unstaked requests, nor in frozen bonds. Identical to the 'balance' RPC.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--spendable_and_frozen_bonds : - -**GET ..//context/contracts//spendable_and_frozen_bonds** - -.. raw:: html - -
- - -
-

- The sum (in mutez) of the spendable balance and frozen bonds of a contract. Corresponds to the contract's full balance from which staked funds and unstake requests have been excluded. Identical to the 'balance_and_frozen_bonds' RPC.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--staked_balance : - -**GET ..//context/contracts//staked_balance** - -.. raw:: html - -
- - -
-

- Access the staked balance of a contract (in mutez). Returns None if the contract is originated, or neither delegated nor a delegate.

-
-
-
-    $021-PsQuebec.mutez /* Some */ || null /* None */
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $N.t                   |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--staking_numerator : - -**GET ..//context/contracts//staking_numerator** - -.. raw:: html - -
- - -
-

- Returns an abstract representation of the contract's total_delegated_stake.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--storage : - -**GET ..//context/contracts//storage** - -.. raw:: html - -
- - -
-

- Access the data of the contract.

-
-
-
-    $micheline.021-PsQuebec.michelson_v1.expression
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+-------------------------------------------------+
-    | Name            | Size                 | Contents                                        |
-    +=================+======================+=================================================+
-    | Unnamed field 0 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - -.. _POST_..--block_id--context--contracts--contract_id--storage--normalized : - -**POST ..//context/contracts//storage/normalized** - -.. raw:: html - -
- - - - -
-

- Access the data of the contract and normalize it using the requested unparsing mode.

-
-
-
-    { "unparsing_mode": "Readable" || "Optimized" || "Optimized_legacy" }
-
-
-
-    +----------------+--------+----------+
-    | Name           | Size   | Contents |
-    +================+========+==========+
-    | unparsing_mode | 1 byte | $X_0     |
-    +----------------+--------+----------+
-
-
-    X_0 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
-
-
-    $micheline.021-PsQuebec.michelson_v1.expression
-    /* Some */
-    || null
-    /* None */
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_1     |
-    +-----------------+----------------------+----------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+-------------------------------------------------+
-    | Name            | Size                 | Contents                                        |
-    +=================+======================+=================================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------+----------------------+-------------------------------------------------+
-    | Unnamed field 0 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------+----------------------+-------------------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--storage--paid_space : - -**GET ..//context/contracts//storage/paid_space** - -.. raw:: html - -
- - -
-

- Access the paid storage space of the contract.

-
-
-
-    $bignum /* Some */ || null /* None */
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $Z.t                   |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--storage--used_space : - -**GET ..//context/contracts//storage/used_space** - -.. raw:: html - -
- - -
-

- Access the used storage space of the contract.

-
-
-
-    $bignum /* Some */ || null /* None */
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $Z.t                   |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _POST_..--block_id--context--contracts--contract_id--ticket_balance : - -**POST ..//context/contracts//ticket_balance** - -.. raw:: html - -
- - - - -
-

- Access the contract's balance of ticket with specified ticketer, content type, and content.

-
-
-
-    { "ticketer": $021-PsQuebec.contract_id,
-      "content_type": $micheline.021-PsQuebec.michelson_v1.expression,
-      "content": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.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
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-
-
-    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                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    string
-    /* Positive big number
-       Decimal representation of a positive big number */
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--unstake_requests : - -**GET ..//context/contracts//unstake_requests** - -.. raw:: html - -
- - -
-

- Access the unstake requests of the contract. The requests that appear in the finalizable field can be finalized, which means that the contract can transfer these (no longer frozen) funds to their spendable balance with a [finalize_unstake] operation call. Returns None if there is no unstake request pending.

-
-
-
-    { /* Some */
-      "finalizable":
-        [ { "delegate": $Signature.Public_key_hash,
-            "cycle": integer ∈ [-2^31-1, 2^31],
-            "amount": $021-PsQuebec.mutez } ... ],
-      "unfinalizable":
-        { "delegate": $Signature.Public_key_hash,
-          "requests":
-            [ { "cycle": integer ∈ [-2^31-1, 2^31],
-                "amount": $021-PsQuebec.mutez } ... ] } }
-    || null
-    /* None */
-    $021-PsQuebec.mutez: $positive_bignum
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +----------+----------------------+----------------------------------+
-    | Name     | Size                 | Contents                         |
-    +==========+======================+==================================+
-    | delegate | 21 bytes             | $public_key_hash                 |
-    +----------+----------------------+----------------------------------+
-    | cycle    | 4 bytes              | signed 32-bit big-endian integer |
-    +----------+----------------------+----------------------------------+
-    | amount   | Determined from data | $N.t                             |
-    +----------+----------------------+----------------------------------+
-
-
-    X_2
-    ***
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | cycle  | 4 bytes              | signed 32-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-    | amount | Determined from data | $N.t                             |
-    +--------+----------------------+----------------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | delegate              | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | requests              | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | finalizable           | Variable             | sequence of $X_0                   |
-    +-----------------------+----------------------+------------------------------------+
-    | unfinalizable         | Determined from data | $X_1                               |
-    +-----------------------+----------------------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--unstaked_finalizable_balance : - -**GET ..//context/contracts//unstaked_finalizable_balance** - -.. raw:: html - -
- - -
-

- Access the balance of a contract that was requested for an unstake operation, and is no longer frozen, which means it will appear in the spendable balance of the contract after any stake/unstake/finalize_unstake operation. Returns None if the contract is originated.

-
-
-
-    $021-PsQuebec.mutez /* Some */ || null /* None */
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $N.t                   |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--unstaked_frozen_balance : - -**GET ..//context/contracts//unstaked_frozen_balance** - -.. raw:: html - -
- - -
-

- Access the balance of a contract that was requested for an unstake operation, but is still frozen for the duration of the slashing period. Returns None if the contract is originated.

-
-
-
-    $021-PsQuebec.mutez /* Some */ || null /* None */
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $N.t                   |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--dal--commitments_history : - -**GET ..//context/dal/commitments_history** - -.. raw:: html - -
- - -
-

- Returns the (currently last) DAL skip list cell if DAL is enabled, or [None] otherwise.

-
-
-
-    /* Some */
-    { /* dal_skip_list_legacy */
-      "kind": "dal_skip_list_legacy",
-      "skip_list": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    || { /* dal_skip_list */
-         "kind": "dal_skip_list",
-         "skip_list":
-           { "index": $positive_bignum,
-             "content":
-               { /* unattested */
-                 "kind": "unattested",
-                 "level": integer ∈ [0, 2^31],
-                 "index": integer ∈ [0, 255] }
-               || /* attested */
-               { /* v0 */
-                 "kind": "attested",
-                 "version": "0",
-                 "level": integer ∈ [0, 2^31],
-                 "index": integer ∈ [0, 255],
-                 "commitment": $DAL_commitment },
-             "back_pointers": [ $dal_skip_list_pointer ... ] } }
-    || null
-    /* None */
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $dal_skip_list_pointer:
-      /* A hash that represents the skip list pointers (Base58Check-encoded) */
-      $unistring
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_4     |
-    +-----------------+----------------------+----------+
-
-
-    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_1 (54 bytes, 8-bit tag)
-    *************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-
-    X_2 (Determined from data, 8-bit tag)
-    *************************************
-
-    unattested (tag 0)
-    ==================
-
-    +-------+---------+----------------------------------+
-    | Name  | Size    | Contents                         |
-    +=======+=========+==================================+
-    | Tag   | 1 byte  | unsigned 8-bit integer           |
-    +-------+---------+----------------------------------+
-    | level | 4 bytes | signed 32-bit big-endian integer |
-    +-------+---------+----------------------------------+
-    | index | 1 byte  | unsigned 8-bit integer           |
-    +-------+---------+----------------------------------+
-
-
-    attested (tag 1)
-    ================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | 54 bytes | $X_1                   |
-    +-----------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | index                 | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | content               | Determined from data | $X_2                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | back_pointers         | Variable             | sequence of bytes                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_3 (Determined from data, 8-bit tag)
-    *************************************
-
-    dal_skip_list_legacy (tag 0)
-    ============================
-
-    +-----------+----------+------------------------+
-    | Name      | Size     | Contents               |
-    +===========+==========+========================+
-    | Tag       | 1 byte   | unsigned 8-bit integer |
-    +-----------+----------+------------------------+
-    | skip_list | 57 bytes | bytes                  |
-    +-----------+----------+------------------------+
-
-
-    dal_skip_list (tag 1)
-    =====================
-
-    +-----------+----------------------+------------------------+
-    | Name      | Size                 | Contents               |
-    +===========+======================+========================+
-    | Tag       | 1 byte               | unsigned 8-bit integer |
-    +-----------+----------------------+------------------------+
-    | skip_list | Determined from data | $X_0                   |
-    +-----------+----------------------+------------------------+
-
-
-    X_4 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_3                   |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--dal--published_slot_headers : - -**GET ..//context/dal/published_slot_headers?[level=]** - -.. raw:: html - -
- - -
-

- Get the published slots headers for the given level

Optional query arguments :

  • level = <block_level>

-
-
-
-    [ { /* v0 */
-        "version": "0",
-        "level": integer ∈ [0, 2^31],
-        "index": integer ∈ [0, 255],
-        "commitment": $DAL_commitment } ... ]
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0 (54 bytes, 8-bit tag)
-    *************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--dal--shards : - -**GET ..//context/dal/shards?[level=]&(delegates=)\*** - -.. raw:: html - -
- - -
-

- Get the shards assignment for a given level (the default is the current level) and given delegates (the default is all delegates)

Optional query arguments :

  • level = <block_level>
  • delegates = <pkh>

-
-
-
-    [ { "delegate": $Signature.Public_key_hash,
-        "indexes": [ integer ∈ [-2^15, 2^15-1] ... ] } ... ]
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------+----------------------------------------------+
-    | Name                  | Size     | Contents                                     |
-    +=======================+==========+==============================================+
-    | delegate              | 21 bytes | $public_key_hash                             |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | indexes               | Variable | sequence of signed 16-bit big-endian integer |
-    +-----------------------+----------+----------------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates : - -**GET ..//context/delegates?[active]&[inactive]&[with_minimal_stake]&[without_minimal_stake]** - -.. raw:: html - -
- - -
-

- Lists all registered delegates by default. The arguments `active`, `inactive`, `with_minimal_stake`, and `without_minimal_stake` allow to enumerate only the delegates that are active, inactive, have at least a minimal stake to participate in consensus and in governance, or do not have such a minimal stake, respectively. Note, setting these arguments to false has no effect.

Optional query arguments :

  • active
  • inactive
  • with_minimal_stake
  • without_minimal_stake

-
-
-
-    [ $Signature.Public_key_hash ... ]
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $public_key_hash       |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-    
-
- - -.. _GET_..--block_id--context--delegates--pkh : - -**GET ..//context/delegates/** - -.. raw:: html - -
- - -
-

- Everything about a delegate. Gathers the outputs of all RPCs with the ../delegates/<pkh> prefix.

-
-
-
-    { "deactivated": boolean,
-      "is_forbidden": boolean,
-      "participation":
-        { "expected_cycle_activity": integer ∈ [-2^30, 2^30],
-          "minimal_cycle_activity": integer ∈ [-2^30, 2^30],
-          "missed_slots": integer ∈ [-2^30, 2^30],
-          "missed_levels": integer ∈ [-2^30, 2^30],
-          "remaining_allowed_missed_slots": integer ∈ [-2^30, 2^30],
-          "expected_attesting_rewards": $021-PsQuebec.mutez },
-      "grace_period": integer ∈ [-2^31-1, 2^31],
-      "active_staking_parameters":
-        { "limit_of_staking_over_baking_millionth": integer ∈ [-2^31-1, 2^31],
-          "edge_of_baking_over_staking_billionth": integer ∈ [-2^31-1, 2^31] },
-      "pending_staking_parameters":
-        [ { "cycle": integer ∈ [-2^31-1, 2^31],
-            "parameters":
-              { "limit_of_staking_over_baking_millionth":
-                  integer ∈ [-2^31-1, 2^31],
-                "edge_of_baking_over_staking_billionth":
-                  integer ∈ [-2^31-1, 2^31] } } ... ],
-      "baking_power": $int64,
-      "total_staked": $021-PsQuebec.mutez,
-      "total_delegated": $021-PsQuebec.mutez,
-      "min_delegated_in_current_cycle":
-        { "amount": $021-PsQuebec.mutez,
-          "level"?:
-            { "level":
-                integer ∈ [0, 2^31]
-                /* The level of the block relative to genesis. This is also the
-                   Shell's notion of level. */,
-              "level_position":
-                integer ∈ [-2^31-1, 2^31]
-                /* The level of the block relative to the successor of the
-                   genesis block. More precisely, it is the position of the
-                   block relative to the block that starts the "Alpha family"
-                   of protocols, which includes all protocols except Genesis
-                   (that is, from 001 onwards). */,
-              "cycle":
-                integer ∈ [-2^31-1, 2^31]
-                /* The current cycle's number. Note that cycles are a
-                   protocol-specific notion. As a result, the cycle number
-                   starts at 0 with the first block of the Alpha family of
-                   protocols. */,
-              "cycle_position":
-                integer ∈ [-2^31-1, 2^31]
-                /* The current level of the block relative to the first block
-                   of the current cycle. */,
-              "expected_commitment":
-                boolean
-                /* Tells whether the baker of this block has to commit a seed
-                   nonce hash. */ } },
-      "own_full_balance": $021-PsQuebec.mutez,
-      "own_staked": $021-PsQuebec.mutez,
-      "own_delegated": $021-PsQuebec.mutez,
-      "external_staked": $021-PsQuebec.mutez,
-      "external_delegated": $021-PsQuebec.mutez,
-      "total_unstaked_per_cycle":
-        [ { "cycle": integer ∈ [-2^31-1, 2^31],
-            "deposit": $021-PsQuebec.mutez } ... ],
-      "denunciations":
-        [ { "operation_hash": $Operation_hash,
-            "rewarded": $Signature.Public_key_hash,
-            "misbehaviour":
-              { "level": integer ∈ [0, 2^31],
-                "round": integer ∈ [-2^31-1, 2^31],
-                "kind": "attestation" | "block" | "preattestation" } } ... ],
-      "estimated_shared_pending_slashed_amount": $021-PsQuebec.mutez,
-      "staking_denominator": $021-PsQuebec.mutez,
-      "current_voting_power": $int64,
-      "voting_power": $int64,
-      "voting_info":
-        { "voting_power"?: $int64,
-          "current_ballot"?: "nay" | "yay" | "pass",
-          "current_proposals"?: [ $Protocol_hash ... ],
-          "remaining_proposals"?: integer ∈ [-2^30, 2^30] },
-      "consensus_key":
-        { "active":
-            { "pkh": $Signature.Public_key_hash,
-              "pk": $Signature.Public_key },
-          "pendings"?:
-            [ { "cycle": integer ∈ [-2^31-1, 2^31],
-                "pkh": $Signature.Public_key_hash,
-                "pk": $Signature.Public_key } ... ] },
-      "stakers":
-        [ { "staker": $021-PsQuebec.contract_id.implicit,
-            "frozen_deposits": $021-PsQuebec.mutez } ... ],
-      "delegators": [ $021-PsQuebec.contract_id ... ] }
-    $021-PsQuebec.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
-    $021-PsQuebec.contract_id.implicit:
-      /* A contract handle -- implicit account
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash. */
-      $unistring
-    $021-PsQuebec.mutez: $positive_bignum
-    $Operation_hash:
-      /* A Tezos operation ID (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
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | Name                                    | Size                 | Contents                              |
-    +=========================================+======================+=======================================+
-    | deactivated                             | 1 byte               | boolean (0 for false, 255 for true)   |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | is_forbidden                            | 1 byte               | boolean (0 for false, 255 for true)   |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | participation                           | Determined from data | $X_0                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | grace_period                            | 4 bytes              | signed 32-bit big-endian integer      |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | active_staking_parameters               | 8 bytes              | $X_1                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | # bytes in next field                   | 4 bytes              | unsigned 30-bit big-endian integer    |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | pending_staking_parameters              | Variable             | sequence of $X_2                      |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | baking_power                            | 8 bytes              | signed 64-bit big-endian integer      |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | total_staked                            | Determined from data | $N.t                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | total_delegated                         | Determined from data | $N.t                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | min_delegated_in_current_cycle          | Determined from data | $X_4                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | own_full_balance                        | Determined from data | $N.t                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | own_staked                              | Determined from data | $N.t                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | own_delegated                           | Determined from data | $N.t                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | external_staked                         | Determined from data | $N.t                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | external_delegated                      | Determined from data | $N.t                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | # bytes in next field                   | 4 bytes              | unsigned 30-bit big-endian integer    |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | total_unstaked_per_cycle                | Variable             | sequence of $X_6                      |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | # bytes in next field                   | 4 bytes              | unsigned 30-bit big-endian integer    |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | denunciations                           | Variable             | sequence of $X_7                      |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | estimated_shared_pending_slashed_amount | Determined from data | $N.t                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | staking_denominator                     | Determined from data | $N.t                                  |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | current_voting_power                    | 8 bytes              | signed 64-bit big-endian integer      |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | voting_power                            | 8 bytes              | signed 64-bit big-endian integer      |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | voting_info                             | Determined from data | $X_10                                 |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | consensus_key                           | Determined from data | $X_11                                 |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | # bytes in next field                   | 4 bytes              | unsigned 30-bit big-endian integer    |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | stakers                                 | Variable             | sequence of $X_14                     |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | # bytes in next field                   | 4 bytes              | unsigned 30-bit big-endian integer    |
-    +-----------------------------------------+----------------------+---------------------------------------+
-    | delegators                              | Variable             | sequence of $021-PsQuebec.contract_id |
-    +-----------------------------------------+----------------------+---------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                                |
-    +================================+======================+=========================================================================+
-    | expected_cycle_activity        | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_cycle_activity         | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | missed_slots                   | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | missed_levels                  | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | remaining_allowed_missed_slots | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | expected_attesting_rewards     | Determined from data | $N.t                                                                    |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1
-    ***
-
-    +----------------------------------------+---------+----------------------------------+
-    | Name                                   | Size    | Contents                         |
-    +========================================+=========+==================================+
-    | limit_of_staking_over_baking_millionth | 4 bytes | signed 32-bit big-endian integer |
-    +----------------------------------------+---------+----------------------------------+
-    | edge_of_baking_over_staking_billionth  | 4 bytes | signed 32-bit big-endian integer |
-    +----------------------------------------+---------+----------------------------------+
-
-
-    X_2
-    ***
-
-    +------------+---------+----------------------------------+
-    | Name       | Size    | Contents                         |
-    +============+=========+==================================+
-    | cycle      | 4 bytes | signed 32-bit big-endian integer |
-    +------------+---------+----------------------------------+
-    | parameters | 8 bytes | $X_1                             |
-    +------------+---------+----------------------------------+
-
-
-    X_5
-    ***
-
-    +---------------------+---------+-------------------------------------+
-    | Name                | Size    | Contents                            |
-    +=====================+=========+=====================================+
-    | level               | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | level_position      | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | cycle               | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | cycle_position      | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | expected_commitment | 1 byte  | boolean (0 for false, 255 for true) |
-    +---------------------+---------+-------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | amount                      | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | ? presence of field "level" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | level                       | 17 bytes             | $X_5                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_6
-    ***
-
-    +---------+----------------------+----------------------------------+
-    | Name    | Size                 | Contents                         |
-    +=========+======================+==================================+
-    | cycle   | 4 bytes              | signed 32-bit big-endian integer |
-    +---------+----------------------+----------------------------------+
-    | deposit | Determined from data | $N.t                             |
-    +---------+----------------------+----------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_9 (Enumeration: unsigned 8-bit integer):
-    ******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | preattestation |
-    +-------------+----------------+
-    | 1           | attestation    |
-    +-------------+----------------+
-    | 2           | block          |
-    +-------------+----------------+
-
-
-    X_8
-    ***
-
-    +-------+---------+----------------------------------------------------------+
-    | Name  | Size    | Contents                                                 |
-    +=======+=========+==========================================================+
-    | level | 4 bytes | signed 32-bit big-endian integer                         |
-    +-------+---------+----------------------------------------------------------+
-    | round | 4 bytes | signed 32-bit big-endian integer                         |
-    +-------+---------+----------------------------------------------------------+
-    | kind  | 1 byte  | unsigned 8-bit integer encoding an enumeration (see X_9) |
-    +-------+---------+----------------------------------------------------------+
-
-
-    X_7
-    ***
-
-    +----------------+----------+------------------+
-    | Name           | Size     | Contents         |
-    +================+==========+==================+
-    | operation_hash | 32 bytes | bytes            |
-    +----------------+----------+------------------+
-    | rewarded       | 21 bytes | $public_key_hash |
-    +----------------+----------+------------------+
-    | misbehaviour   | 9 bytes  | $X_8             |
-    +----------------+----------+------------------+
-
-
-    X_10
-    ****
-
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | Name                                 | Size     | Contents                                                                |
-    +======================================+==========+=========================================================================+
-    | ? presence of field "voting_power"   | 1 byte   | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | voting_power                         | 8 bytes  | signed 64-bit big-endian integer                                        |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | ? presence of field "current_ballot" | 1 byte   | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | current_ballot                       | 1 byte   | signed 8-bit integer                                                    |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field                | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | current_proposals                    | Variable | sequence of bytes                                                       |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | remaining_proposals                  | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-
-
-    public_key (Determined from data, 8-bit tag)
-    ********************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +--------------------+----------+------------------------+
-    | Name               | Size     | Contents               |
-    +====================+==========+========================+
-    | Tag                | 1 byte   | unsigned 8-bit integer |
-    +--------------------+----------+------------------------+
-    | Ed25519.Public_key | 32 bytes | bytes                  |
-    +--------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | Secp256k1.Public_key | 33 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | P256.Public_key | 33 bytes | bytes                  |
-    +-----------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | Bls12_381.Public_key | 48 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    X_12
-    ****
-
-    +------+----------------------+------------------+
-    | Name | Size                 | Contents         |
-    +======+======================+==================+
-    | pkh  | 21 bytes             | $public_key_hash |
-    +------+----------------------+------------------+
-    | pk   | Determined from data | $public_key      |
-    +------+----------------------+------------------+
-
-
-    X_13
-    ****
-
-    +-------+----------------------+----------------------------------+
-    | Name  | Size                 | Contents                         |
-    +=======+======================+==================================+
-    | cycle | 4 bytes              | signed 32-bit big-endian integer |
-    +-------+----------------------+----------------------------------+
-    | pkh   | 21 bytes             | $public_key_hash                 |
-    +-------+----------------------+----------------------------------+
-    | pk    | Determined from data | $public_key                      |
-    +-------+----------------------+----------------------------------+
-
-
-    X_11
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | active                | Determined from data | $X_12                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pendings              | Variable             | sequence of $X_13                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.contract_id.implicit (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       |
-    +---------------------------+----------+------------------------+
-
-
-    X_14
-    ****
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | staker          | 22 bytes             | $021-PsQuebec.contract_id.implicit |
-    +-----------------+----------------------+------------------------------------+
-    | frozen_deposits | Determined from data | $N.t                               |
-    +-----------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-    
-
- - -.. _GET_..--block_id--context--delegates--pkh--active_staking_parameters : - -**GET ..//context/delegates//active_staking_parameters** - -.. raw:: html - -
- - -
-

- Returns the currently active staking parameters for the given delegate.

-
-
-
-    { "limit_of_staking_over_baking_millionth": integer ∈ [-2^31-1, 2^31],
-      "edge_of_baking_over_staking_billionth": integer ∈ [-2^31-1, 2^31] }
-
-
-
-    +----------------------------------------+---------+----------------------------------+
-    | Name                                   | Size    | Contents                         |
-    +========================================+=========+==================================+
-    | limit_of_staking_over_baking_millionth | 4 bytes | signed 32-bit big-endian integer |
-    +----------------------------------------+---------+----------------------------------+
-    | edge_of_baking_over_staking_billionth  | 4 bytes | signed 32-bit big-endian integer |
-    +----------------------------------------+---------+----------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--baking_power : - -**GET ..//context/delegates//baking_power** - -.. raw:: html - -
- - -
-

- The current baking power of a delegate, using the current staked and delegated balances of the baker and its delegators. In other words, the baking rights that the baker would get for a future cycle if the current cycle ended right at the current block.

-
-
-
-    string
-    /* 64 bit integers
-       Decimal representation of 64 bit integers */
-
-
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Unnamed field 0 | 8 bytes | signed 64-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--consensus_key : - -**GET ..//context/delegates//consensus_key** - -.. raw:: html - -
- - -
-

- The active consensus key for a given delegate and the pending consensus keys.

-
-
-
-    { "active":
-        { "pkh": $Signature.Public_key_hash,
-          "pk": $Signature.Public_key },
-      "pendings"?:
-        [ { "cycle": integer ∈ [-2^31-1, 2^31],
-            "pkh": $Signature.Public_key_hash,
-            "pk": $Signature.Public_key } ... ] }
-    $Signature.Public_key:
-      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | active                | Determined from data | $X_0                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pendings              | Variable             | sequence of $X_1                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    public_key (Determined from data, 8-bit tag)
-    ********************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +--------------------+----------+------------------------+
-    | Name               | Size     | Contents               |
-    +====================+==========+========================+
-    | Tag                | 1 byte   | unsigned 8-bit integer |
-    +--------------------+----------+------------------------+
-    | Ed25519.Public_key | 32 bytes | bytes                  |
-    +--------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | Secp256k1.Public_key | 33 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | P256.Public_key | 33 bytes | bytes                  |
-    +-----------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | Bls12_381.Public_key | 48 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +------+----------------------+------------------+
-    | Name | Size                 | Contents         |
-    +======+======================+==================+
-    | pkh  | 21 bytes             | $public_key_hash |
-    +------+----------------------+------------------+
-    | pk   | Determined from data | $public_key      |
-    +------+----------------------+------------------+
-
-
-    X_1
-    ***
-
-    +-------+----------------------+----------------------------------+
-    | Name  | Size                 | Contents                         |
-    +=======+======================+==================================+
-    | cycle | 4 bytes              | signed 32-bit big-endian integer |
-    +-------+----------------------+----------------------------------+
-    | pkh   | 21 bytes             | $public_key_hash                 |
-    +-------+----------------------+----------------------------------+
-    | pk    | Determined from data | $public_key                      |
-    +-------+----------------------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--current_baking_power : - -**GET ..//context/delegates//current_baking_power** - -.. raw:: html - -
- - -
-

- DEPRECATED; use baking_power instead.

-
-
-
-    string
-    /* 64 bit integers
-       Decimal representation of 64 bit integers */
-
-
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Unnamed field 0 | 8 bytes | signed 64-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--current_frozen_deposits : - -**GET ..//context/delegates//current_frozen_deposits** - -.. raw:: html - -
- - -
-

- DEPRECATED; use total_staked instead.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--current_voting_power : - -**GET ..//context/delegates//current_voting_power** - -.. raw:: html - -
- - -
-

- The voting power of a given delegate, as computed from its current stake.

-
-
-
-    string
-    /* 64 bit integers
-       Decimal representation of 64 bit integers */
-
-
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Unnamed field 0 | 8 bytes | signed 64-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--deactivated : - -**GET ..//context/delegates//deactivated** - -.. raw:: html - -
- - -
-

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

-
-
-
-    boolean
-
-
-
-    +-----------------+--------+-------------------------------------+
-    | Name            | Size   | Contents                            |
-    +=================+========+=====================================+
-    | Unnamed field 0 | 1 byte | boolean (0 for false, 255 for true) |
-    +-----------------+--------+-------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--delegated_balance : - -**GET ..//context/delegates//delegated_balance** - -.. raw:: html - -
- - -
-

- DEPRECATED; to get this value, you can call RPCs external_staked and external_delegated, and add their outputs together.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--delegated_contracts : - -**GET ..//context/delegates//delegated_contracts** - -.. raw:: html - -
- - -
-

- DEPRECATED; use delegators instead.

-
-
-
-    [ $021-PsQuebec.contract_id ... ]
-    $021-PsQuebec.contract_id:
-      /* A contract handle
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash or a base58 originated contract hash. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+---------------------------------------+
-    | Name                  | Size     | Contents                              |
-    +=======================+==========+=======================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer    |
-    +-----------------------+----------+---------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $021-PsQuebec.contract_id |
-    +-----------------------+----------+---------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--delegators : - -**GET ..//context/delegates//delegators** - -.. raw:: html - -
- - -
-

- The list of all contracts that are currently delegating to the delegate. Includes both user accounts and smart contracts. Includes the delegate itself.

-
-
-
-    [ $021-PsQuebec.contract_id ... ]
-    $021-PsQuebec.contract_id:
-      /* A contract handle
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash or a base58 originated contract hash. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+---------------------------------------+
-    | Name                  | Size     | Contents                              |
-    +=======================+==========+=======================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer    |
-    +-----------------------+----------+---------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $021-PsQuebec.contract_id |
-    +-----------------------+----------+---------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--denunciations : - -**GET ..//context/delegates//denunciations** - -.. raw:: html - -
- - -
-

- Returns the pending denunciations for the given delegate.

-
-
-
-    [ { "operation_hash": $Operation_hash,
-        "rewarded": $Signature.Public_key_hash,
-        "misbehaviour":
-          { "level": integer ∈ [0, 2^31],
-            "round": integer ∈ [-2^31-1, 2^31],
-            "kind": "attestation" | "block" | "preattestation" } } ... ]
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_2 (Enumeration: unsigned 8-bit integer):
-    ******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | preattestation |
-    +-------------+----------------+
-    | 1           | attestation    |
-    +-------------+----------------+
-    | 2           | block          |
-    +-------------+----------------+
-
-
-    X_1
-    ***
-
-    +-------+---------+----------------------------------------------------------+
-    | Name  | Size    | Contents                                                 |
-    +=======+=========+==========================================================+
-    | level | 4 bytes | signed 32-bit big-endian integer                         |
-    +-------+---------+----------------------------------------------------------+
-    | round | 4 bytes | signed 32-bit big-endian integer                         |
-    +-------+---------+----------------------------------------------------------+
-    | kind  | 1 byte  | unsigned 8-bit integer encoding an enumeration (see X_2) |
-    +-------+---------+----------------------------------------------------------+
-
-
-    X_0
-    ***
-
-    +----------------+----------+------------------+
-    | Name           | Size     | Contents         |
-    +================+==========+==================+
-    | operation_hash | 32 bytes | bytes            |
-    +----------------+----------+------------------+
-    | rewarded       | 21 bytes | $public_key_hash |
-    +----------------+----------+------------------+
-    | misbehaviour   | 9 bytes  | $X_1             |
-    +----------------+----------+------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--estimated_shared_pending_slashed_amount : - -**GET ..//context/delegates//estimated_shared_pending_slashed_amount** - -.. raw:: html - -
- - -
-

- Returns the estimated shared pending slashed amount (in mutez) of a given delegate.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--external_delegated : - -**GET ..//context/delegates//external_delegated** - -.. raw:: html - -
- - -
-

- The sum (in mutez) of non-staked tokens that currently count as delegated to the baker, excluding those owned by the baker iself. Does not take limits such as overstaking or overdelegation into account. This includes the spendable balances and frozen bonds of all the baker's external delegators. It also includes unstake requests of contracts other than the baker, on the condition that the contract was delegating to the baker at the time of the unstake operation. So this includes most but not all unstake requests from current delegators, and might include some unstake requests from old delegators. Limits such as overstaking and overdelegation have not been applied yet.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--external_staked : - -**GET ..//context/delegates//external_staked** - -.. raw:: html - -
- - -
-

- The sum (in mutez) of all tokens currently staked by the baker's external delegators. This excludes the baker's own staked tokens.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--frozen_deposits : - -**GET ..//context/delegates//frozen_deposits** - -.. raw:: html - -
- - -
-

- DEPRECATED; call RPC total_staked on the last block of (current_cycle - 3) instead. Returns the total amount (in mutez) that was staked for the baker by all stakers (including the baker itself) at the time the staking rights for the current cycle were computed.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--frozen_deposits_limit : - -**GET ..//context/delegates//frozen_deposits_limit** - -.. raw:: html - -
- - -
-

- DEPRECATED; the frozen deposits limit has no effects since the activation of Adaptive Issuance and Staking during the Paris protocol.

-
-
-
-    $021-PsQuebec.mutez /* Some */ || null /* None */
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $N.t                   |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--full_balance : - -**GET ..//context/delegates//full_balance** - -.. raw:: html - -
- - -
-

- DEPRECATED; use own_full_balance instead.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--grace_period : - -**GET ..//context/delegates//grace_period** - -.. raw:: html - -
- - -
-

- Returns the cycle by the end of which the delegate might be deactivated if she fails to execute any delegate action. A deactivated delegate might be reactivated (without loosing any stake) by simply re-registering as a delegate. For deactivated delegates, this value contains the cycle at which they were deactivated.

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

- Returns true if the delegate is forbidden to participate in consensus.

-
-
-
-    boolean
-
-
-
-    +-----------------+--------+-------------------------------------+
-    | Name            | Size   | Contents                            |
-    +=================+========+=====================================+
-    | Unnamed field 0 | 1 byte | boolean (0 for false, 255 for true) |
-    +-----------------+--------+-------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--min_delegated_in_current_cycle : - -**GET ..//context/delegates//min_delegated_in_current_cycle** - -.. raw:: html - -
- - -
-

- Returns the minimum of delegated tez (in mutez) during the current cycle and the block level at the end of which the minimum was reached. This only takes into account the value of `total_delegated` at the end of each block, not in the middle of applying operations. This is the delegated amount that would be used to compute the delegate's future baking rights if the cycle ended at the current block. If the minimum was reached multiple times, the returned level is the earliest level of the current cycle that reached this minimum. For instance, if `total_delegated` hasn't changed at all since the beginning of the current cycle, returns the first level of the current cycle. (If the contract is not registered as a delegate, returns 0 mutez and omits the level.)

-
-
-
-    { "amount": $021-PsQuebec.mutez,
-      "level"?:
-        { "level":
-            integer ∈ [0, 2^31]
-            /* The level of the block relative to genesis. This is also the
-               Shell's notion of level. */,
-          "level_position":
-            integer ∈ [-2^31-1, 2^31]
-            /* The level of the block relative to the successor of the genesis
-               block. More precisely, it is the position of the block relative
-               to the block that starts the "Alpha family" of protocols, which
-               includes all protocols except Genesis (that is, from 001
-               onwards). */,
-          "cycle":
-            integer ∈ [-2^31-1, 2^31]
-            /* The current cycle's number. Note that cycles are a
-               protocol-specific notion. As a result, the cycle number starts
-               at 0 with the first block of the Alpha family of protocols. */,
-          "cycle_position":
-            integer ∈ [-2^31-1, 2^31]
-            /* The current level of the block relative to the first block of
-               the current cycle. */,
-          "expected_commitment":
-            boolean
-            /* Tells whether the baker of this block has to commit a seed nonce
-               hash. */ } }
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | amount                      | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | ? presence of field "level" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | level                       | 17 bytes             | $X_0                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +---------------------+---------+-------------------------------------+
-    | Name                | Size    | Contents                            |
-    +=====================+=========+=====================================+
-    | level               | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | level_position      | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | cycle               | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | cycle_position      | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | expected_commitment | 1 byte  | boolean (0 for false, 255 for true) |
-    +---------------------+---------+-------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--own_delegated : - -**GET ..//context/delegates//own_delegated** - -.. raw:: html - -
- - -
-

- The amount (in mutez) currently owned by the baker itself and counting as delegated for the purpose of baking rights. This corresponds to all non-staked tokens owned by the baker: spendable balance, frozen bonds, and unstake requests. (Note: There is one exception: if the baker still has unstake requests created at a time when it was delegating to a different delegate, then these unstake requests still count as delegated to the former delegate. Any such unstake requests are excluded from the amount returned by the present RPC, despite being non-staked tokens owned by the baker.)

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--own_full_balance : - -**GET ..//context/delegates//own_full_balance** - -.. raw:: html - -
- - -
-

- The full balance (in mutez) of tokens owned by the delegate itself. Includes its spendable balance, staked tez, unstake requests, and frozen bonds. Does not include any tokens owned by external delegators. This RPC fails when the pkh is not a delegate. When it is a delegate, this RPC outputs the same amount as ../<block_id>/context/contracts/<delegate_contract_id>/full_balance.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--own_staked : - -**GET ..//context/delegates//own_staked** - -.. raw:: html - -
- - -
-

- The amount (in mutez) currently owned and staked by the baker itself. Returns the same value as ../<block_id>/context/contracts/<delegate_contract_id>/staked_balance (except for the fact that the present RPC fails if the public_key_hash in the path is not a delegate).

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--participation : - -**GET ..//context/delegates//participation** - -.. raw:: html - -
- - -
-

- Returns cycle and level participation information. In particular this indicates, in the field 'expected_cycle_activity', the number of slots the delegate is expected to have in the cycle based on its active stake. The field 'minimal_cycle_activity' indicates the minimal attesting slots in the cycle required to get attesting rewards. It is computed based on 'expected_cycle_activity. The fields 'missed_slots' and 'missed_levels' indicate the number of missed attesting slots and missed levels (for attesting) in the cycle so far. 'missed_slots' indicates the number of missed attesting slots in the cycle so far. The field 'remaining_allowed_missed_slots' indicates the remaining amount of attesting slots that can be missed in the cycle before forfeiting the rewards. Finally, 'expected_attesting_rewards' indicates the attesting rewards that will be distributed at the end of the cycle if activity at that point will be greater than the minimal required; if the activity is already known to be below the required minimum, then the rewards are zero.

-
-
-
-    { "expected_cycle_activity": integer ∈ [-2^30, 2^30],
-      "minimal_cycle_activity": integer ∈ [-2^30, 2^30],
-      "missed_slots": integer ∈ [-2^30, 2^30],
-      "missed_levels": integer ∈ [-2^30, 2^30],
-      "remaining_allowed_missed_slots": integer ∈ [-2^30, 2^30],
-      "expected_attesting_rewards": $021-PsQuebec.mutez }
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                                |
-    +================================+======================+=========================================================================+
-    | expected_cycle_activity        | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | minimal_cycle_activity         | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | missed_slots                   | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | missed_levels                  | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | remaining_allowed_missed_slots | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-    | expected_attesting_rewards     | Determined from data | $N.t                                                                    |
-    +--------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--pending_staking_parameters : - -**GET ..//context/delegates//pending_staking_parameters** - -.. raw:: html - -
- - -
-

- Returns the pending values for the given delegate's staking parameters.

-
-
-
-    [ { "cycle": integer ∈ [-2^31-1, 2^31],
-        "parameters":
-          { "limit_of_staking_over_baking_millionth":
-              integer ∈ [-2^31-1, 2^31],
-            "edge_of_baking_over_staking_billionth":
-              integer ∈ [-2^31-1, 2^31] } } ... ]
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1
-    ***
-
-    +----------------------------------------+---------+----------------------------------+
-    | Name                                   | Size    | Contents                         |
-    +========================================+=========+==================================+
-    | limit_of_staking_over_baking_millionth | 4 bytes | signed 32-bit big-endian integer |
-    +----------------------------------------+---------+----------------------------------+
-    | edge_of_baking_over_staking_billionth  | 4 bytes | signed 32-bit big-endian integer |
-    +----------------------------------------+---------+----------------------------------+
-
-
-    X_0
-    ***
-
-    +------------+---------+----------------------------------+
-    | Name       | Size    | Contents                         |
-    +============+=========+==================================+
-    | cycle      | 4 bytes | signed 32-bit big-endian integer |
-    +------------+---------+----------------------------------+
-    | parameters | 8 bytes | $X_1                             |
-    +------------+---------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--stakers : - -**GET ..//context/delegates//stakers** - -.. raw:: html - -
- - -
-

- Returns the list of accounts that stake to a given delegate together with their share of the frozen deposits.

-
-
-
-    [ { "staker": $021-PsQuebec.contract_id.implicit,
-        "frozen_deposits": $021-PsQuebec.mutez } ... ]
-    $021-PsQuebec.contract_id.implicit:
-      /* A contract handle -- implicit account
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash. */
-      $unistring
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.contract_id.implicit (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       |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | staker          | 22 bytes             | $021-PsQuebec.contract_id.implicit |
-    +-----------------+----------------------+------------------------------------+
-    | frozen_deposits | Determined from data | $N.t                               |
-    +-----------------+----------------------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--staking_balance : - -**GET ..//context/delegates//staking_balance** - -.. raw:: html - -
- - -
-

- DEPRECATED; to get this value, you can call RPCs total_staked and total_delegated, and add their outputs together.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--staking_denominator : - -**GET ..//context/delegates//staking_denominator** - -.. raw:: html - -
- - -
-

- Returns an abstract representation of the total delegated stake.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--total_delegated : - -**GET ..//context/delegates//total_delegated** - -.. raw:: html - -
- - -
-

- All tokens (in mutez) that currently count as delegated for the purpose of computing the baker's rights; they weigh half as much as staked tez in the rights. Limits such as overstaking and overdelegation have not been applied yet. This corresponds to all non-staked tez owned by the baker's delegators (including the baker itself): spendable balances, frozen bonds, and unstaked requests, except for any unstake requests that have been created before the delegator changed its delegate to the current baker (because they still count as delegated for the old delegate instead).

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--total_delegated_stake : - -**GET ..//context/delegates//total_delegated_stake** - -.. raw:: html - -
- - -
-

- DEPRECATED; use external_staked instead.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--total_staked : - -**GET ..//context/delegates//total_staked** - -.. raw:: html - -
- - -
-

- The total amount (in mutez) currently staked for the baker, both by the baker itself and by external stakers. This is the staked amount before applying the baker's 'limit_of_staking_over_baking'; in other words, it includes overstaked tez if there are any.

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--total_unstaked_per_cycle : - -**GET ..//context/delegates//total_unstaked_per_cycle** - -.. raw:: html - -
- - -
-

- For each cycle, returns the total amount (in mutez) contained in all unstake requests created during this cycle by all delegators, including the baker itself. Note that these tokens count as delegated to the baker for the purpose of computing baking rights, and are included in the amount returned by the total_delegated RPC.

-
-
-
-    [ { "cycle": integer ∈ [-2^31-1, 2^31],
-        "deposit": $021-PsQuebec.mutez } ... ]
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +---------+----------------------+----------------------------------+
-    | Name    | Size                 | Contents                         |
-    +=========+======================+==================================+
-    | cycle   | 4 bytes              | signed 32-bit big-endian integer |
-    +---------+----------------------+----------------------------------+
-    | deposit | Determined from data | $N.t                             |
-    +---------+----------------------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--unstaked_frozen_deposits : - -**GET ..//context/delegates//unstaked_frozen_deposits** - -.. raw:: html - -
- - -
-

- DEPRECATED; use total_unstaked_per_cycle instead.

-
-
-
-    [ { "cycle": integer ∈ [-2^31-1, 2^31],
-        "deposit": $021-PsQuebec.mutez } ... ]
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +---------+----------------------+----------------------------------+
-    | Name    | Size                 | Contents                         |
-    +=========+======================+==================================+
-    | cycle   | 4 bytes              | signed 32-bit big-endian integer |
-    +---------+----------------------+----------------------------------+
-    | deposit | Determined from data | $N.t                             |
-    +---------+----------------------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--voting_info : - -**GET ..//context/delegates//voting_info** - -.. raw:: html - -
- - -
-

- Returns the delegate info (e.g. voting power) found in the listings of the current voting period.

-
-
-
-    { "voting_power"?: $int64,
-      "current_ballot"?: "nay" | "yay" | "pass",
-      "current_proposals"?: [ $Protocol_hash ... ],
-      "remaining_proposals"?: integer ∈ [-2^30, 2^30] }
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | Name                                 | Size     | Contents                                                                |
-    +======================================+==========+=========================================================================+
-    | ? presence of field "voting_power"   | 1 byte   | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | voting_power                         | 8 bytes  | signed 64-bit big-endian integer                                        |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | ? presence of field "current_ballot" | 1 byte   | boolean (0 for false, 255 for true)                                     |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | current_ballot                       | 1 byte   | signed 8-bit integer                                                    |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field                | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | current_proposals                    | Variable | sequence of bytes                                                       |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-    | remaining_proposals                  | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------+----------+-------------------------------------------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--delegates--pkh--voting_power : - -**GET ..//context/delegates//voting_power** - -.. raw:: html - -
- - -
-

- The voting power in the vote listings for a given delegate.

-
-
-
-    string
-    /* 64 bit integers
-       Decimal representation of 64 bit integers */
-
-
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Unnamed field 0 | 8 bytes | signed 64-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--denunciations : - -**GET ..//context/denunciations** - -.. raw:: html - -
- - -
-

- Returns the denunciations for misbehavior in the current cycle.

-
-
-
-    [ { "slashed_delegate": $Signature.Public_key_hash,
-        "operation_hash": $Operation_hash,
-        "rewarded": $Signature.Public_key_hash,
-        "misbehaviour":
-          { "level": integer ∈ [0, 2^31],
-            "round": integer ∈ [-2^31-1, 2^31],
-            "kind": "attestation" | "block" | "preattestation" } } ... ]
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_2 (Enumeration: unsigned 8-bit integer):
-    ******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | preattestation |
-    +-------------+----------------+
-    | 1           | attestation    |
-    +-------------+----------------+
-    | 2           | block          |
-    +-------------+----------------+
-
-
-    X_1
-    ***
-
-    +-------+---------+----------------------------------------------------------+
-    | Name  | Size    | Contents                                                 |
-    +=======+=========+==========================================================+
-    | level | 4 bytes | signed 32-bit big-endian integer                         |
-    +-------+---------+----------------------------------------------------------+
-    | round | 4 bytes | signed 32-bit big-endian integer                         |
-    +-------+---------+----------------------------------------------------------+
-    | kind  | 1 byte  | unsigned 8-bit integer encoding an enumeration (see X_2) |
-    +-------+---------+----------------------------------------------------------+
-
-
-    X_0
-    ***
-
-    +------------------+----------+------------------+
-    | Name             | Size     | Contents         |
-    +==================+==========+==================+
-    | slashed_delegate | 21 bytes | $public_key_hash |
-    +------------------+----------+------------------+
-    | operation_hash   | 32 bytes | bytes            |
-    +------------------+----------+------------------+
-    | rewarded         | 21 bytes | $public_key_hash |
-    +------------------+----------+------------------+
-    | misbehaviour     | 9 bytes  | $X_1             |
-    +------------------+----------+------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--issuance--current_yearly_rate : - -**GET ..//context/issuance/current_yearly_rate** - -.. raw:: html - -
- - -
-

- Returns the current expected maximum yearly issuance rate (in %). The value only includes participation rewards (and does not include liquidity baking)

-
-
-
-    /* Universal string representation
-       Either a plain UTF8 string, or a sequence of bytes for strings that
-       contain invalid byte sequences. */
-    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--issuance--current_yearly_rate_details : - -**GET ..//context/issuance/current_yearly_rate_details** - -.. raw:: html - -
- - -
-

- Returns the static and dynamic parts of the current expected maximum yearly issuance rate (in %). The value only includes participation rewards (and does not include liquidity baking)

-
-
-
-    { "static":
-        { "numerator": $positive_bignum,
-          "denominator": $positive_bignum },
-      "dynamic":
-        { "numerator": $positive_bignum,
-          "denominator": $positive_bignum } }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +---------+----------------------+----------+
-    | Name    | Size                 | Contents |
-    +=========+======================+==========+
-    | static  | Determined from data | $X_0     |
-    +---------+----------------------+----------+
-    | dynamic | Determined from data | $X_0     |
-    +---------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +-------------+----------------------+----------+
-    | Name        | Size                 | Contents |
-    +=============+======================+==========+
-    | numerator   | Determined from data | $N.t     |
-    +-------------+----------------------+----------+
-    | denominator | Determined from data | $N.t     |
-    +-------------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--issuance--current_yearly_rate_exact : - -**GET ..//context/issuance/current_yearly_rate_exact** - -.. raw:: html - -
- - -
-

- Returns the current expected maximum yearly issuance rate (exact quotient) (in %). The value only includes participation rewards (and does not include liquidity baking)

-
-
-
-    { "numerator": $positive_bignum,
-      "denominator": $positive_bignum }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-------------+----------------------+----------+
-    | Name        | Size                 | Contents |
-    +=============+======================+==========+
-    | numerator   | Determined from data | $N.t     |
-    +-------------+----------------------+----------+
-    | denominator | Determined from data | $N.t     |
-    +-------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--issuance--expected_issuance : - -**GET ..//context/issuance/expected_issuance** - -.. raw:: html - -
- - -
-

- Returns the expected issued tez for the provided block and the next 'consensus_rights_delay' cycles (in mutez)

-
-
-
-    [ { "cycle": integer ∈ [-2^31-1, 2^31],
-        "baking_reward_fixed_portion": $021-PsQuebec.mutez,
-        "baking_reward_bonus_per_slot": $021-PsQuebec.mutez,
-        "attesting_reward_per_slot": $021-PsQuebec.mutez,
-        "seed_nonce_revelation_tip": $021-PsQuebec.mutez,
-        "vdf_revelation_tip": $021-PsQuebec.mutez } ... ]
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +------------------------------+----------------------+----------------------------------+
-    | Name                         | Size                 | Contents                         |
-    +==============================+======================+==================================+
-    | cycle                        | 4 bytes              | signed 32-bit big-endian integer |
-    +------------------------------+----------------------+----------------------------------+
-    | baking_reward_fixed_portion  | Determined from data | $N.t                             |
-    +------------------------------+----------------------+----------------------------------+
-    | baking_reward_bonus_per_slot | Determined from data | $N.t                             |
-    +------------------------------+----------------------+----------------------------------+
-    | attesting_reward_per_slot    | Determined from data | $N.t                             |
-    +------------------------------+----------------------+----------------------------------+
-    | seed_nonce_revelation_tip    | Determined from data | $N.t                             |
-    +------------------------------+----------------------+----------------------------------+
-    | vdf_revelation_tip           | Determined from data | $N.t                             |
-    +------------------------------+----------------------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--issuance--issuance_per_minute : - -**GET ..//context/issuance/issuance_per_minute** - -.. raw:: html - -
- - -
-

- Returns the current expected maximum issuance per minute (in mutez). The value only includes participation rewards (and does not include liquidity baking)

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--liquidity_baking--cpmm_address : - -**GET ..//context/liquidity_baking/cpmm_address** - -.. raw:: html - -
- - -
-

- Liquidity baking CPMM address

-
-
-
-    $unistring
-    /* A contract handle -- originated account
-       A contract notation as given to an RPC or inside scripts. Can be a
-       base58 originated contract hash. */
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------+----------+
-    | Name            | Size     | Contents |
-    +=================+==========+==========+
-    | Unnamed field 0 | 22 bytes | $X_0     |
-    +-----------------+----------+----------+
-
-
-    X_0 (22 bytes, 8-bit tag)
-    *************************
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--merkle_tree : - -**GET ..//context/merkle_tree(/)*?[holey=]** - -.. raw:: html - -
- - -
-

- Returns the merkle tree of a piece of context.

Optional query arguments :

  • holey = <bool> : Send only hashes, omit data of key

-
-
-
-    $merkle_tree /* Some */ || null /* None */
-    $merkle_tree:
-      [ [ $unistring,
-          [ boolean, $unistring ]
-          /* Hash */
-          || $raw_context
-          /* Data */
-          || $merkle_tree
-          /* Continue */ ] ... ]
-    $raw_context:
-      /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-      /* Key */
-      || { /* Dir */
-           *: $raw_context }
-      || null
-      /* Cut */
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_8     |
-    +-----------------+----------------------+----------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------+----------------------+--------------+
-    | Name            | Size                 | Contents     |
-    +=================+======================+==============+
-    | Unnamed field 0 | Determined from data | $X_2         |
-    +-----------------+----------------------+--------------+
-    | Unnamed field 1 | Determined from data | $raw_context |
-    +-----------------+----------------------+--------------+
-
-
-    raw_context (Determined from data, 8-bit tag)
-    *********************************************
-
-    Key (tag 0)
-    ===========
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    Dir (tag 1)
-    ===========
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Cut (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_7 (Determined from data, 8-bit tag)
-    *************************************
-
-    Hash (tag 0)
-    ============
-
-    +-----------------+----------------------+-------------------------------------+
-    | Name            | Size                 | Contents                            |
-    +=================+======================+=====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer              |
-    +-----------------+----------------------+-------------------------------------+
-    | Unnamed field 0 | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------+----------------------+-------------------------------------+
-    | Unnamed field 1 | Determined from data | $X_2                                |
-    +-----------------+----------------------+-------------------------------------+
-
-
-    Data (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $raw_context           |
-    +-----------------+----------------------+------------------------+
-
-
-    Continue (tag 2)
-    ================
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $merkle_tree           |
-    +-----------------+----------------------+------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_7     |
-    +-----------------+----------------------+----------+
-
-
-    merkle_tree
-    ***********
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_1                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_8 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $merkle_tree           |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--merkle_tree_v2 : - -**GET ..//context/merkle_tree_v2(/)*?[holey=]** - -.. raw:: html - -
- - -
-

- Returns the Irmin merkle tree of a piece of context.

Optional query arguments :

  • holey = <bool> : Send only hashes, omit data of key

-
-
-
-    { /* Some */
-      "version": integer ∈ [-2^15, 2^15-1],
-      "before":
-        { /* Value */
-          "value": $Context_hash }
-        || { /* Node */
-             "node": $Context_hash },
-      "after":
-        { /* Value */
-          "value": $Context_hash }
-        || { /* Node */
-             "node": $Context_hash },
-      "state": $tree_encoding }
-    || null
-    /* None */
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $inode_tree:
-      { /* Inode_tree */
-        "inode_tree":
-          { "length": $int64,
-            "proofs":
-              { /* sparse_proof */
-                "sparse_proof": [ [ integer ∈ [0, 255], $inode_tree ] ... ] }
-              || { /* dense_proof */
-                   "dense_proof": [ $inode_tree ... ] } } }
-      || { /* other_inode_trees */
-           "other_inode_trees":
-             { /* Inode_values */
-               "inode_values":
-                 [ [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, $tree_encoding ] ... ] }
-             || { /* other_inode_trees */
-                  "other_inode_trees":
-                    { /* Blinded_inode */
-                      "blinded_inode": $Context_hash }
-                    || { /* Inode_extender */
-                         "inode_extender":
-                           { "length": $int64,
-                             "segment": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                             "proof": $inode_tree } }
-                    || { /* None */
-                         "none": any } } }
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $tree_encoding:
-      { /* Inode */
-        "inode":
-          { "length": $int64,
-            "proofs":
-              { /* sparse_proof */
-                "sparse_proof": [ [ integer ∈ [0, 255], $inode_tree ] ... ] }
-              || { /* dense_proof */
-                   "dense_proof": [ $inode_tree ... ] } } }
-      || { /* other_trees */
-           "other_trees":
-             { /* Node */
-               "node":
-                 [ [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, $tree_encoding ] ... ] }
-             || { /* other_trees */
-                  "other_trees":
-                    { /* Value */
-                      "value":
-                        /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-                        /* short_bytes */
-                        || /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-                        /* medium_bytes */
-                        || any
-                        /* long_bytes
-                           This case is void. No data is accepted. */
-                        || /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-                        /* unlimited_bytes */ }
-                    || { /* Blinded_value */
-                         "blinded_value": $Context_hash }
-                    || { /* Blinded_node */
-                         "blinded_node": $Context_hash }
-                    || { /* Extender */
-                         "extender":
-                           { "length": $int64,
-                             "segment": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                             "proof": $inode_tree } }
-                    || { /* None */
-                         "none": any } } }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_53821 |
-    +-----------------+----------------------+----------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_6
-    ***
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------+----------------------+----------------+
-    | Name            | Size                 | Contents       |
-    +=================+======================+================+
-    | Unnamed field 0 | Determined from data | $X_6           |
-    +-----------------+----------------------+----------------+
-    | Unnamed field 1 | Determined from data | $tree_encoding |
-    +-----------------+----------------------+----------------+
-
-
-    X_132
-    *****
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 1 | Determined from data | $inode_tree            |
-    +-----------------+----------------------+------------------------+
-
-
-    X_131
-    *****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_132                 |
-    +-----------------------+----------+------------------------------------+
-
-
-    inode_tree (Determined from data, 8-bit tag)
-    ********************************************
-
-    Inode_tree (tag 0)
-    ==================
-
-    +-----------------+--------+------------------------+
-    | Name            | Size   | Contents               |
-    +=================+========+========================+
-    | Tag             | 1 byte | unsigned 8-bit integer |
-    +-----------------+--------+------------------------+
-    | Unnamed field 0 | 1 byte | unsigned 8-bit integer |
-    +-----------------+--------+------------------------+
-
-
-    Inode_tree (tag 1)
-    ==================
-
-    +-----------------+---------+------------------------------------+
-    | Name            | Size    | Contents                           |
-    +=================+=========+====================================+
-    | Tag             | 1 byte  | unsigned 8-bit integer             |
-    +-----------------+---------+------------------------------------+
-    | Unnamed field 0 | 2 bytes | unsigned 16-bit big-endian integer |
-    +-----------------+---------+------------------------------------+
-
-
-    Inode_tree (tag 2)
-    ==================
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Tag             | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | Unnamed field 0 | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    Inode_tree (tag 3)
-    ==================
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Tag             | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | Unnamed field 0 | 8 bytes | signed 64-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    Inode_tree (tag 4)
-    ==================
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode_tree (tag 5)
-    ==================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 6)
-    ==================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 7)
-    ==================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 8)
-    ==================
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode_tree (tag 9)
-    ==================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 10)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 11)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 12)
-    ===================
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode_tree (tag 13)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 14)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 15)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 16)
-    ===================
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode_tree (tag 17)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 18)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 19)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 20)
-    ===================
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode_tree (tag 21)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 22)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 23)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 24)
-    ===================
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode_tree (tag 25)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 26)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 27)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 28)
-    ===================
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode_tree (tag 29)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 30)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 31)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 32)
-    ===================
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode_tree (tag 33)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 34)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 35)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 36)
-    ===================
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode_tree (tag 37)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 38)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 39)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 40)
-    ===================
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode_tree (tag 41)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 42)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 43)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 44)
-    ===================
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode_tree (tag 45)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 46)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 47)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 48)
-    ===================
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode_tree (tag 49)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 50)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 51)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 52)
-    ===================
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode_tree (tag 53)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 54)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 55)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 56)
-    ===================
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode_tree (tag 57)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 58)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 59)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 60)
-    ===================
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 1 | Determined from data | $X_131                 |
-    +-----------------+----------------------+------------------------+
-
-
-    Inode_tree (tag 61)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | $X_131                             |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 62)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | $X_131                           |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 63)
-    ===================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | $X_131                           |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode_tree (tag 64)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 65)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 66)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer   |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode_tree (tag 67)
-    ===================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer   |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
-    +-----------------+----------------------+------------------------------------+
-
-
-    other_inode_trees (tag 128)
-    ===========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    other_inode_trees (tag 129)
-    ===========================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 1 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_inode_trees (tag 130)
-    ===========================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 2 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_inode_trees (tag 131)
-    ===========================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 3 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_inode_trees (tag 132)
-    ===========================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 4 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_inode_trees (tag 133)
-    ===========================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 5 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_inode_trees (tag 134)
-    ===========================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 6 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_inode_trees (tag 135)
-    ===========================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 7 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_inode_trees (tag 136)
-    ===========================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 8 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_inode_trees (tag 137)
-    ===========================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 9 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_inode_trees (tag 138)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 10 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 139)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 11 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 140)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 12 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 141)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 13 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 142)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 14 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 143)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 15 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 144)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 16 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 145)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 17 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 146)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 18 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 147)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 19 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 148)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 20 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 149)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 21 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 150)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 22 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 151)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 23 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 152)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 24 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 153)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 25 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 154)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 26 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 155)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 27 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 156)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 28 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 157)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 29 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 158)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 30 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 159)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 31 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 160)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 32 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 161)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 33 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 162)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 34 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 163)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 35 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 164)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 36 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 165)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 37 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 166)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 38 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 167)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 39 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 168)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 40 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 169)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 41 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 170)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 42 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 171)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 43 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 172)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 44 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 173)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 45 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 174)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 46 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 175)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 47 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 176)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 48 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 177)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 49 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 178)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 50 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 179)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 51 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 180)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 52 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 181)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 53 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 182)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 54 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 183)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 55 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 184)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 56 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 185)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 57 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 186)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 58 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 187)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 59 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 188)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 60 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 189)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 61 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 190)
-    ===========================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 62 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_inode_trees (tag 191)
-    ===========================
-
-    +-----------------------+----------+------------------------------------+
-    | 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_5                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    other_inode_trees (tag 192)
-    ===========================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | Context_hash | 32 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    other_inode_trees (tag 208)
-    ===========================
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 1 | Determined from data | $X_0                   |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 2 | Determined from data | $inode_tree            |
-    +-----------------+----------------------+------------------------+
-
-
-    other_inode_trees (tag 209)
-    ===========================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | $X_0                               |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 2 | Determined from data | $inode_tree                        |
-    +-----------------+----------------------+------------------------------------+
-
-
-    other_inode_trees (tag 210)
-    ===========================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | $X_0                             |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 2 | Determined from data | $inode_tree                      |
-    +-----------------+----------------------+----------------------------------+
-
-
-    other_inode_trees (tag 211)
-    ===========================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | $X_0                             |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 2 | Determined from data | $inode_tree                      |
-    +-----------------+----------------------+----------------------------------+
-
-
-    other_inode_trees (tag 224)
-    ===========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    tree_encoding (Determined from data, 8-bit tag)
-    ***********************************************
-
-    Inode (tag 0)
-    =============
-
-    +-----------------+--------+------------------------+
-    | Name            | Size   | Contents               |
-    +=================+========+========================+
-    | Tag             | 1 byte | unsigned 8-bit integer |
-    +-----------------+--------+------------------------+
-    | Unnamed field 0 | 1 byte | unsigned 8-bit integer |
-    +-----------------+--------+------------------------+
-
-
-    Inode (tag 1)
-    =============
-
-    +-----------------+---------+------------------------------------+
-    | Name            | Size    | Contents                           |
-    +=================+=========+====================================+
-    | Tag             | 1 byte  | unsigned 8-bit integer             |
-    +-----------------+---------+------------------------------------+
-    | Unnamed field 0 | 2 bytes | unsigned 16-bit big-endian integer |
-    +-----------------+---------+------------------------------------+
-
-
-    Inode (tag 2)
-    =============
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Tag             | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | Unnamed field 0 | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    Inode (tag 3)
-    =============
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Tag             | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | Unnamed field 0 | 8 bytes | signed 64-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    Inode (tag 4)
-    =============
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode (tag 5)
-    =============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 6)
-    =============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 7)
-    =============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 8)
-    =============
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode (tag 9)
-    =============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 10)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 11)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 12)
-    ==============
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode (tag 13)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 14)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 15)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 16)
-    ==============
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode (tag 17)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 18)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 19)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 20)
-    ==============
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode (tag 21)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 22)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 23)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 24)
-    ==============
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode (tag 25)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 26)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 27)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 28)
-    ==============
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode (tag 29)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 30)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 31)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 32)
-    ==============
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode (tag 33)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 34)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 35)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 36)
-    ==============
-
-    +-----------------+----------------------+------------------------------+
-    | Name            | Size                 | Contents                     |
-    +=================+======================+==============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
-    +-----------------+----------------------+------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
-    +-----------------+----------------------+------------------------------+
-
-
-    Inode (tag 37)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132       |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 38)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 39)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132     |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 40)
-    ==============
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode (tag 41)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 42)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 43)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 44)
-    ==============
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode (tag 45)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 46)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 47)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 48)
-    ==============
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode (tag 49)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 50)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 51)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 52)
-    ==============
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode (tag 53)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 54)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 55)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 56)
-    ==============
-
-    +-----------------+----------------------+-------------------------------+
-    | Name            | Size                 | Contents                      |
-    +=================+======================+===============================+
-    | Tag             | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
-    +-----------------+----------------------+-------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
-    +-----------------+----------------------+-------------------------------+
-
-
-    Inode (tag 57)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132      |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 58)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 59)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132    |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 60)
-    ==============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 1 | Determined from data | $X_131                 |
-    +-----------------+----------------------+------------------------+
-
-
-    Inode (tag 61)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | $X_131                             |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 62)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | $X_131                           |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 63)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | $X_131                           |
-    +-----------------+----------------------+----------------------------------+
-
-
-    Inode (tag 64)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 65)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 66)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer   |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
-    +-----------------+----------------------+------------------------------------+
-
-
-    Inode (tag 67)
-    ==============
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer   |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
-    +-----------------+----------------------+------------------------------------+
-
-
-    other_trees (tag 128)
-    =====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    other_trees (tag 129)
-    =====================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 1 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_trees (tag 130)
-    =====================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 2 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_trees (tag 131)
-    =====================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 3 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_trees (tag 132)
-    =====================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 4 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_trees (tag 133)
-    =====================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 5 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_trees (tag 134)
-    =====================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 6 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_trees (tag 135)
-    =====================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 7 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_trees (tag 136)
-    =====================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 8 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_trees (tag 137)
-    =====================
-
-    +-----------------+----------+----------------------------+
-    | Name            | Size     | Contents                   |
-    +=================+==========+============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer     |
-    +-----------------+----------+----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 9 $X_5 |
-    +-----------------+----------+----------------------------+
-
-
-    other_trees (tag 138)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 10 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 139)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 11 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 140)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 12 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 141)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 13 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 142)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 14 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 143)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 15 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 144)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 16 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 145)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 17 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 146)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 18 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 147)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 19 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 148)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 20 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 149)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 21 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 150)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 22 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 151)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 23 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 152)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 24 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 153)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 25 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 154)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 26 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 155)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 27 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 156)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 28 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 157)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 29 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 158)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 30 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 159)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 31 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 160)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 32 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 161)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 33 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 162)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 34 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 163)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 35 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 164)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 36 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 165)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 37 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 166)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 38 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 167)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 39 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 168)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 40 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 169)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 41 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 170)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 42 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 171)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 43 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 172)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 44 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 173)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 45 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 174)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 46 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 175)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 47 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 176)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 48 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 177)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 49 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 178)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 50 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 179)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 51 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 180)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 52 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 181)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 53 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 182)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 54 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 183)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 55 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 184)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 56 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 185)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 57 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 186)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 58 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 187)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 59 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 188)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 60 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 189)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 61 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 190)
-    =====================
-
-    +-----------------+----------+-----------------------------+
-    | Name            | Size     | Contents                    |
-    +=================+==========+=============================+
-    | Tag             | 1 byte   | unsigned 8-bit integer      |
-    +-----------------+----------+-----------------------------+
-    | Unnamed field 0 | Variable | sequence of exactly 62 $X_5 |
-    +-----------------+----------+-----------------------------+
-
-
-    other_trees (tag 191)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | 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_5                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    other_trees (tag 192)
-    =====================
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    other_trees (tag 193)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    other_trees (tag 195)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | 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 | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    other_trees (tag 200)
-    =====================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | Context_hash | 32 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    other_trees (tag 208)
-    =====================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | Context_hash | 32 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    other_trees (tag 216)
-    =====================
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 1 | Determined from data | $X_0                   |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 2 | Determined from data | $inode_tree            |
-    +-----------------+----------------------+------------------------+
-
-
-    other_trees (tag 217)
-    =====================
-
-    +-----------------+----------------------+------------------------------------+
-    | Name            | Size                 | Contents                           |
-    +=================+======================+====================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer             |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 0 | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 1 | Determined from data | $X_0                               |
-    +-----------------+----------------------+------------------------------------+
-    | Unnamed field 2 | Determined from data | $inode_tree                        |
-    +-----------------+----------------------+------------------------------------+
-
-
-    other_trees (tag 218)
-    =====================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 4 bytes              | signed 32-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | $X_0                             |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 2 | Determined from data | $inode_tree                      |
-    +-----------------+----------------------+----------------------------------+
-
-
-    other_trees (tag 219)
-    =====================
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 8 bytes              | signed 64-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | Determined from data | $X_0                             |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 2 | Determined from data | $inode_tree                      |
-    +-----------------+----------------------+----------------------------------+
-
-
-    other_trees (tag 224)
-    =====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_53820 (Determined from data, 8-bit tag)
-    *****************************************
-
-    case_0 (tag 0)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 2 bytes              | signed 16-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | 32 bytes             | bytes                            |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 2 | 32 bytes             | bytes                            |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 3 | Determined from data | $tree_encoding                   |
-    +-----------------+----------------------+----------------------------------+
-
-
-    case_1 (tag 1)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 2 bytes              | signed 16-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | 32 bytes             | bytes                            |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 2 | 32 bytes             | bytes                            |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 3 | Determined from data | $tree_encoding                   |
-    +-----------------+----------------------+----------------------------------+
-
-
-    case_2 (tag 2)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 2 bytes              | signed 16-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | 32 bytes             | bytes                            |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 2 | 32 bytes             | bytes                            |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 3 | Determined from data | $tree_encoding                   |
-    +-----------------+----------------------+----------------------------------+
-
-
-    case_3 (tag 3)
-    ==============
-
-    +-----------------+----------------------+----------------------------------+
-    | Name            | Size                 | Contents                         |
-    +=================+======================+==================================+
-    | Tag             | 1 byte               | unsigned 8-bit integer           |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 0 | 2 bytes              | signed 16-bit big-endian integer |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 1 | 32 bytes             | bytes                            |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 2 | 32 bytes             | bytes                            |
-    +-----------------+----------------------+----------------------------------+
-    | Unnamed field 3 | Determined from data | $tree_encoding                   |
-    +-----------------+----------------------+----------------------------------+
-
-
-    X_53821 (Determined from data, 8-bit tag)
-    *****************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_53820               |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--nonces--block_level : - -**GET ..//context/nonces/** - -.. raw:: html - -
- - -
-

- Info about the nonce of a previous block.

-
-
-
-    { /* Revealed */
-      "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    || { /* Missing */
-         "hash": $cycle_nonce }
-    || { /* Forgotten */
-          }
-    $cycle_nonce:
-      /* A nonce hash (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    Revealed (tag 0)
-    ================
-
-    +-------+----------+------------------------+
-    | Name  | Size     | Contents               |
-    +=======+==========+========================+
-    | Tag   | 1 byte   | unsigned 8-bit integer |
-    +-------+----------+------------------------+
-    | nonce | 32 bytes | bytes                  |
-    +-------+----------+------------------------+
-
-
-    Missing (tag 1)
-    ===============
-
-    +------+----------+------------------------+
-    | Name | Size     | Contents               |
-    +======+==========+========================+
-    | Tag  | 1 byte   | unsigned 8-bit integer |
-    +------+----------+------------------------+
-    | hash | 32 bytes | bytes                  |
-    +------+----------+------------------------+
-
-
-    Forgotten (tag 2)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--raw--bytes : - -**GET ..//context/raw/bytes(/)*?[depth=]** - -.. raw:: html - -
- - -
-

- Returns the raw context.

Optional query arguments :

  • depth = <uint>

-
-
-
-    $raw_context
-    $raw_context:
-      /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-      /* Key */
-      || { /* Dir */
-           *: $raw_context }
-      || null
-      /* Cut */
-
-
-
-    +-----------------+----------------------+--------------+
-    | Name            | Size                 | Contents     |
-    +=================+======================+==============+
-    | Unnamed field 0 | Determined from data | $raw_context |
-    +-----------------+----------------------+--------------+
-
-
-    X_1
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------+----------------------+--------------+
-    | Name            | Size                 | Contents     |
-    +=================+======================+==============+
-    | Unnamed field 0 | Determined from data | $X_1         |
-    +-----------------+----------------------+--------------+
-    | Unnamed field 1 | Determined from data | $raw_context |
-    +-----------------+----------------------+--------------+
-
-
-    raw_context (Determined from data, 8-bit tag)
-    *********************************************
-
-    Key (tag 0)
-    ===========
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    Dir (tag 1)
-    ===========
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Cut (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--sapling--sapling_state_id--get_diff : - -**GET ..//context/sapling//get_diff?[offset_commitment=]&[offset_nullifier=]** - -.. raw:: html - -
- - -
-

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

Optional query arguments :

  • offset_commitment = <uint63> : Commitments and ciphertexts are returned from the specified offset up to the most recent.
  • offset_nullifier = <uint63> : Nullifiers are returned from the specified offset up to the most recent.

-
-
-
-    { "root": $sapling.transaction.commitment_hash,
-      "commitments_and_ciphertexts":
-        [ [ $sapling.transaction.commitment, $sapling.transaction.ciphertext ] ... ],
-      "nullifiers": [ $sapling.transaction.nullifier ... ] }
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_hash: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-
-
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | root                        | 32 bytes | bytes                              |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_0                   |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--context--seed : - -**POST ..//context/seed** - -.. raw:: html - -
- - - - -
-

- Seed of the cycle to which the block belongs.

-
-
-
-    {  }
-
-
-
-    This value's binary representation is empty. It takes zero (0) bytes of output.
-    
-
-
-
-    /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-
-
-
-    +-----------------+----------+----------+
-    | Name            | Size     | Contents |
-    +=================+==========+==========+
-    | Unnamed field 0 | 32 bytes | bytes    |
-    +-----------------+----------+----------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--seed_computation : - -**GET ..//context/seed_computation** - -.. raw:: html - -
- - -
-

- Seed computation status

-
-
-
-    { /* Nonce revelation stage */
-      "nonce_revelation_stage": any }
-    || { /* VDF revelation stage */
-         "seed_discriminant": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-         "seed_challenge": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    || { /* Computation finished */
-         "computation_finished": any }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    Nonce revelation stage (tag 0)
-    ==============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    VDF revelation stage (tag 1)
-    ============================
-
-    +-------------------+----------+------------------------+
-    | Name              | Size     | Contents               |
-    +===================+==========+========================+
-    | Tag               | 1 byte   | unsigned 8-bit integer |
-    +-------------------+----------+------------------------+
-    | seed_discriminant | 32 bytes | bytes                  |
-    +-------------------+----------+------------------------+
-    | seed_challenge    | 32 bytes | bytes                  |
-    +-------------------+----------+------------------------+
-
-
-    Computation finished (tag 2)
-    ============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--all : - -**GET ..//context/smart_rollups/all** - -.. raw:: html - -
- - -
-

- List of all originated smart rollups

-
-
-
-    [ $smart_rollup_address ... ]
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - -.. _GET_..--block_id--context--smart_rollups--all--inbox : - -**GET ..//context/smart_rollups/all/inbox** - -.. raw:: html - -
- - -
-

- Inbox for the smart rollups

-
-
-
-    { "level": integer ∈ [0, 2^31],
-      "old_levels_messages":
-        { "index": $positive_bignum,
-          "content":
-            { "hash": $smart_rollup_merkelized_payload_hashes_hash,
-              "level": integer ∈ [0, 2^31] },
-          "back_pointers": [ $smart_rollup_inbox_hash ... ] } }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $smart_rollup_inbox_hash:
-      /* The hash of an inbox of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_merkelized_payload_hashes_hash:
-      /* The hash of the Merkelized payload hashes of a smart rollup inbox
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------+----------------------+----------------------------------+
-    | Name                | Size                 | Contents                         |
-    +=====================+======================+==================================+
-    | level               | 4 bytes              | signed 32-bit big-endian integer |
-    +---------------------+----------------------+----------------------------------+
-    | old_levels_messages | Determined from data | $X_0                             |
-    +---------------------+----------------------+----------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_1
-    ***
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | hash  | 32 bytes | bytes                            |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit big-endian integer |
-    +-------+----------+----------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | index                 | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | content               | 36 bytes             | $X_1                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | back_pointers         | Variable             | sequence of bytes                  |
-    +-----------------------+----------------------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--commitment--smart_rollup_commitment_hash : - -**GET ..//context/smart_rollups/smart_rollup//commitment/** - -.. raw:: html - -
- - -
-

- Commitment for a smart rollup from its hash

-
-
-
-    { "compressed_state": $smart_rollup_state_hash,
-      "inbox_level": integer ∈ [0, 2^31],
-      "predecessor": $smart_rollup_commitment_hash,
-      "number_of_ticks": $int64 }
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $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
-    $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                         |
-    +==================+==========+==================================+
-    | 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 |
-    +------------------+----------+----------------------------------+
-
-
-    
-
- - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--commitment--smart_rollup_commitment_hash--can_be_cemented : - -**GET ..//context/smart_rollups/smart_rollup//commitment//can_be_cemented** - -.. raw:: html - -
- - -
-

- Returns true if and only if the provided commitment can be cemented.

-
-
-
-    boolean
-
-
-
-    +-----------------+--------+-------------------------------------+
-    | Name            | Size   | Contents                            |
-    +=================+========+=====================================+
-    | Unnamed field 0 | 1 byte | boolean (0 for false, 255 for true) |
-    +-----------------+--------+-------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--commitment--smart_rollup_commitment_hash--stakers_indexes : - -**GET ..//context/smart_rollups/smart_rollup//commitment//stakers_indexes** - -.. raw:: html - -
- - -
-

- List of stakers indexes staking on a given commitment

-
-
-
-    [ $positive_bignum ... ]
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $N.t                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--consumed_outputs--block_level : - -**GET ..//context/smart_rollups/smart_rollup//consumed_outputs/** - -.. raw:: html - -
- - -
-

- Return the known consumed outputs of a smart rollup.

-
-
-
-    [ integer ∈ [-2^30, 2^30] ... ]
-
-
-
-    +-----------------------+----------+-------------------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                            |
-    +=======================+==========+=====================================================================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                  |
-    +-----------------------+----------+-------------------------------------------------------------------------------------+
-    | Unnamed field 0       | Variable | sequence of signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------+-------------------------------------------------------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--genesis_info : - -**GET ..//context/smart_rollups/smart_rollup//genesis_info** - -.. raw:: html - -
- - -
-

- Genesis information (level and commitment hash) for a smart rollup

-
-
-
-    { "level": integer ∈ [0, 2^31],
-      "commitment_hash": $smart_rollup_commitment_hash }
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------+----------------------------------+
-    | Name            | Size     | Contents                         |
-    +=================+==========+==================================+
-    | level           | 4 bytes  | signed 32-bit big-endian integer |
-    +-----------------+----------+----------------------------------+
-    | commitment_hash | 32 bytes | bytes                            |
-    +-----------------+----------+----------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--inbox_level--block_level--commitments : - -**GET ..//context/smart_rollups/smart_rollup//inbox_level//commitments** - -.. raw:: html - -
- - -
-

- List of commitments associated to a rollup for a given inbox level

-
-
-
-    [ $smart_rollup_commitment_hash ... ] /* Some */ || null /* None */
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--kind : - -**GET ..//context/smart_rollups/smart_rollup//kind** - -.. raw:: html - -
- - -
-

- Kind of smart rollup

-
-
-
-    "wasm_2_0_0" | "arith" | "riscv"
-
-
-
-    +-----------------+--------+----------+
-    | Name            | Size   | Contents |
-    +=================+========+==========+
-    | Unnamed field 0 | 1 byte | $X_0     |
-    +-----------------+--------+----------+
-
-
-    X_0 (Enumeration: unsigned 8-bit integer):
-    ******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--last_cemented_commitment_hash_with_level : - -**GET ..//context/smart_rollups/smart_rollup//last_cemented_commitment_hash_with_level** - -.. raw:: html - -
- - -
-

- Level and hash of the last cemented commitment for a smart rollup

-
-
-
-    { "hash": $smart_rollup_commitment_hash,
-      "level": integer ∈ [0, 2^31] }
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | hash  | 32 bytes | bytes                            |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit big-endian integer |
-    +-------+----------+----------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--last_whitelist_update : - -**GET ..//context/smart_rollups/smart_rollup//last_whitelist_update** - -.. raw:: html - -
- - -
-

- Last whitelist update for private smart rollups. If the output is None then the rollup is public.

-
-
-
-    { /* Some */
-      "message_index": $positive_bignum,
-      "outbox_level": integer ∈ [0, 2^31] }
-    || null
-    /* None */
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +---------------+----------------------+----------------------------------+
-    | Name          | Size                 | Contents                         |
-    +===============+======================+==================================+
-    | Tag           | 1 byte               | unsigned 8-bit integer           |
-    +---------------+----------------------+----------------------------------+
-    | message_index | Determined from data | $N.t                             |
-    +---------------+----------------------+----------------------------------+
-    | outbox_level  | 4 bytes              | signed 32-bit big-endian integer |
-    +---------------+----------------------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--staker--pkh--conflicts : - -**GET ..//context/smart_rollups/smart_rollup//staker//conflicts** - -.. raw:: html - -
- - -
-

- List of stakers in conflict with the given staker

-
-
-
-    [ { "other": $Signature.Public_key_hash,
-        "their_commitment":
-          { "compressed_state": $smart_rollup_state_hash,
-            "inbox_level": integer ∈ [0, 2^31],
-            "predecessor": $smart_rollup_commitment_hash,
-            "number_of_ticks": $int64 },
-        "our_commitment":
-          { "compressed_state": $smart_rollup_state_hash,
-            "inbox_level": integer ∈ [0, 2^31],
-            "predecessor": $smart_rollup_commitment_hash,
-            "number_of_ticks": $int64 },
-        "parent_commitment": $smart_rollup_commitment_hash } ... ]
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $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
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_1
-    ***
-
-    +------------------+----------+----------------------------------+
-    | 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_0
-    ***
-
-    +-------------------+----------+------------------+
-    | Name              | Size     | Contents         |
-    +===================+==========+==================+
-    | other             | 21 bytes | $public_key_hash |
-    +-------------------+----------+------------------+
-    | their_commitment  | 76 bytes | $X_1             |
-    +-------------------+----------+------------------+
-    | our_commitment    | 76 bytes | $X_1             |
-    +-------------------+----------+------------------+
-    | parent_commitment | 32 bytes | bytes            |
-    +-------------------+----------+------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--staker--pkh--games : - -**GET ..//context/smart_rollups/smart_rollup//staker//games** - -.. raw:: html - -
- - -
-

- Ongoing refutation games for a given staker

-
-
-
-    [ { "game":
-          { "turn": "alice" || "bob",
-            "inbox_snapshot":
-              { "index": $positive_bignum,
-                "content":
-                  { "hash": $smart_rollup_merkelized_payload_hashes_hash,
-                    "level": integer ∈ [0, 2^31] },
-                "back_pointers": [ $smart_rollup_inbox_hash ... ] },
-            "dal_snapshot":
-              { /* dal_skip_list_legacy */
-                "kind": "dal_skip_list_legacy",
-                "skip_list": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-              || { /* dal_skip_list */
-                   "kind": "dal_skip_list",
-                   "skip_list":
-                     { "index": $positive_bignum,
-                       "content":
-                         { /* unattested */
-                           "kind": "unattested",
-                           "level": integer ∈ [0, 2^31],
-                           "index": integer ∈ [0, 255] }
-                         || /* attested */
-                         { /* v0 */
-                           "kind": "attested",
-                           "version": "0",
-                           "level": integer ∈ [0, 2^31],
-                           "index": integer ∈ [0, 255],
-                           "commitment": $DAL_commitment },
-                       "back_pointers": [ $dal_skip_list_pointer ... ] } },
-            "start_level": integer ∈ [0, 2^31],
-            "inbox_level": integer ∈ [0, 2^31],
-            "game_state":
-              { /* Dissecting */
-                "kind": "Dissecting",
-                "dissection":
-                  [ { "state"?: $smart_rollup_state_hash,
-                      "tick": $positive_bignum } ... ],
-                "default_number_of_sections": integer ∈ [0, 255] }
-              || { /* Final_move */
-                   "kind": "Final_move",
-                   "agreed_start_chunk":
-                     { "state"?: $smart_rollup_state_hash,
-                       "tick": $positive_bignum },
-                   "refuted_stop_chunk":
-                     { "state"?: $smart_rollup_state_hash,
-                       "tick": $positive_bignum } } },
-        "alice": $Signature.Public_key_hash,
-        "bob": $Signature.Public_key_hash } ... ]
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $dal_skip_list_pointer:
-      /* A hash that represents the skip list pointers (Base58Check-encoded) */
-      $unistring
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $smart_rollup_inbox_hash:
-      /* The hash of an inbox of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_merkelized_payload_hashes_hash:
-      /* The hash of the Merkelized payload hashes of a smart rollup inbox
-         (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_2 (1 byte, 8-bit tag)
-    ***********************
-
-    Alice (tag 0)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Bob (tag 1)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    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                         |
-    +=======+==========+==================================+
-    | hash  | 32 bytes | bytes                            |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit big-endian integer |
-    +-------+----------+----------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | index                 | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | content               | 36 bytes             | $X_4                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | back_pointers         | Variable             | sequence of bytes                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_6 (54 bytes, 8-bit tag)
-    *************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-
-    X_7 (Determined from data, 8-bit tag)
-    *************************************
-
-    unattested (tag 0)
-    ==================
-
-    +-------+---------+----------------------------------+
-    | Name  | Size    | Contents                         |
-    +=======+=========+==================================+
-    | Tag   | 1 byte  | unsigned 8-bit integer           |
-    +-------+---------+----------------------------------+
-    | level | 4 bytes | signed 32-bit big-endian integer |
-    +-------+---------+----------------------------------+
-    | index | 1 byte  | unsigned 8-bit integer           |
-    +-------+---------+----------------------------------+
-
-
-    attested (tag 1)
-    ================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | 54 bytes | $X_6                   |
-    +-----------------+----------+------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | index                 | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | content               | Determined from data | $X_7                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | back_pointers         | Variable             | sequence of bytes                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_8 (Determined from data, 8-bit tag)
-    *************************************
-
-    dal_skip_list_legacy (tag 0)
-    ============================
-
-    +-----------+----------+------------------------+
-    | Name      | Size     | Contents               |
-    +===========+==========+========================+
-    | Tag       | 1 byte   | unsigned 8-bit integer |
-    +-----------+----------+------------------------+
-    | skip_list | 57 bytes | bytes                  |
-    +-----------+----------+------------------------+
-
-
-    dal_skip_list (tag 1)
-    =====================
-
-    +-----------+----------------------+------------------------+
-    | Name      | Size                 | Contents               |
-    +===========+======================+========================+
-    | Tag       | 1 byte               | unsigned 8-bit integer |
-    +-----------+----------------------+------------------------+
-    | skip_list | Determined from data | $X_5                   |
-    +-----------+----------------------+------------------------+
-
-
-    X_9
-    ***
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | 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_12 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissecting (tag 0)
-    ==================
-
-    +----------------------------+----------+------------------------------------+
-    | Name                       | Size     | Contents                           |
-    +============================+==========+====================================+
-    | Tag                        | 1 byte   | unsigned 8-bit integer             |
-    +----------------------------+----------+------------------------------------+
-    | # bytes in next field      | 4 bytes  | unsigned 30-bit big-endian integer |
-    +----------------------------+----------+------------------------------------+
-    | dissection                 | Variable | sequence of $X_9                   |
-    +----------------------------+----------+------------------------------------+
-    | default_number_of_sections | 1 byte   | unsigned 8-bit integer             |
-    +----------------------------+----------+------------------------------------+
-
-
-    Final_move (tag 1)
-    ==================
-
-    +--------------------+----------------------+------------------------+
-    | Name               | Size                 | Contents               |
-    +====================+======================+========================+
-    | Tag                | 1 byte               | unsigned 8-bit integer |
-    +--------------------+----------------------+------------------------+
-    | agreed_start_chunk | Determined from data | $X_9                   |
-    +--------------------+----------------------+------------------------+
-    | refuted_stop_chunk | Determined from data | $X_9                   |
-    +--------------------+----------------------+------------------------+
-
-
-    X_1
-    ***
-
-    +----------------+----------------------+----------------------------------+
-    | Name           | Size                 | Contents                         |
-    +================+======================+==================================+
-    | turn           | 1 byte               | $X_2                             |
-    +----------------+----------------------+----------------------------------+
-    | inbox_snapshot | Determined from data | $X_3                             |
-    +----------------+----------------------+----------------------------------+
-    | dal_snapshot   | Determined from data | $X_8                             |
-    +----------------+----------------------+----------------------------------+
-    | start_level    | 4 bytes              | signed 32-bit big-endian integer |
-    +----------------+----------------------+----------------------------------+
-    | inbox_level    | 4 bytes              | signed 32-bit big-endian integer |
-    +----------------+----------------------+----------------------------------+
-    | game_state     | Determined from data | $X_12                            |
-    +----------------+----------------------+----------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +-------+----------------------+------------------+
-    | Name  | Size                 | Contents         |
-    +=======+======================+==================+
-    | game  | Determined from data | $X_1             |
-    +-------+----------------------+------------------+
-    | alice | 21 bytes             | $public_key_hash |
-    +-------+----------------------+------------------+
-    | bob   | 21 bytes             | $public_key_hash |
-    +-------+----------------------+------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--staker--pkh--index : - -**GET ..//context/smart_rollups/smart_rollup//staker//index** - -.. raw:: html - -
- - -
-

- Staker index associated to a public key hash for a given rollup

-
-
-
-    string
-    /* Positive big number
-       Decimal representation of a positive big number */
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--staker--pkh--staked_on_commitment : - -**GET ..//context/smart_rollups/smart_rollup//staker//staked_on_commitment** - -.. raw:: html - -
- - -
-

- The newest commitment on which the operator has staked on for a smart rollup. Note that is can return a commitment that is before the last cemented one.

-
-
-
-    { /* Some */
-      "hash": $smart_rollup_commitment_hash,
-      "compressed_state": $smart_rollup_state_hash,
-      "inbox_level": integer ∈ [0, 2^31],
-      "predecessor": $smart_rollup_commitment_hash,
-      "number_of_ticks": $int64 }
-    || null
-    /* None */
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $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
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | Tag              | 1 byte   | unsigned 8-bit integer           |
-    +------------------+----------+----------------------------------+
-    | hash             | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | 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 |
-    +------------------+----------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--staker1--staker1_pkh--staker2--staker2_pkh--timeout : - -**GET ..//context/smart_rollups/smart_rollup//staker1//staker2//timeout** - -.. raw:: html - -
- - -
-

- Returns the timeout of players.

-
-
-
-    { /* Some */
-      "alice": integer ∈ [-2^30, 2^30],
-      "bob": integer ∈ [-2^30, 2^30],
-      "last_turn_level": integer ∈ [0, 2^31] }
-    || null
-    /* None */
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+---------+-------------------------------------------------------------------------+
-    | Name            | Size    | Contents                                                                |
-    +=================+=========+=========================================================================+
-    | Tag             | 1 byte  | unsigned 8-bit integer                                                  |
-    +-----------------+---------+-------------------------------------------------------------------------+
-    | alice           | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------+---------+-------------------------------------------------------------------------+
-    | bob             | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------+---------+-------------------------------------------------------------------------+
-    | last_turn_level | 4 bytes | signed 32-bit big-endian integer                                        |
-    +-----------------+---------+-------------------------------------------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--staker1--staker1_pkh--staker2--staker2_pkh--timeout_reached : - -**GET ..//context/smart_rollups/smart_rollup//staker1//staker2//timeout_reached** - -.. raw:: html - -
- - -
-

- Returns whether the timeout creates a result for the game.

-
-
-
-    /* Some */
-    { /* Loser */
-      "kind": "loser",
-      "reason": "conflict_resolved" || "timeout",
-      "player": $Signature.Public_key_hash }
-    || { /* Draw */
-         "kind": "draw" }
-    || null
-    /* None */
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (1 byte, 8-bit tag)
-    ***********************
-
-    Conflict_resolved (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Timeout (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_1 (Determined from data, 8-bit tag)
-    *************************************
-
-    Loser (tag 0)
-    =============
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | reason | 1 byte   | $X_0                   |
-    +--------+----------+------------------------+
-    | player | 21 bytes | $public_key_hash       |
-    +--------+----------+------------------------+
-
-
-    Draw (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_2 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_1                   |
-    +-----------------+----------------------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--stakers : - -**GET ..//context/smart_rollups/smart_rollup//stakers** - -.. raw:: html - -
- - -
-

- List of active stakers' public key hashes of a rollup

-
-
-
-    [ $Signature.Public_key_hash ... ]
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $public_key_hash       |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-    
-
- - - -.. _POST_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--ticket_balance : - -**POST ..//context/smart_rollups/smart_rollup//ticket_balance** - -.. raw:: html - -
- - - - -
-

- Access the smart rollup's balance of ticket with specified ticketer, content type, and content.

-
-
-
-    { "ticketer": $021-PsQuebec.contract_id,
-      "content_type": $micheline.021-PsQuebec.michelson_v1.expression,
-      "content": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.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
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-
-
-    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                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    string
-    /* Positive big number
-       Decimal representation of a positive big number */
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--smart_rollups--smart_rollup--smart_rollup_address--whitelist : - -**GET ..//context/smart_rollups/smart_rollup//whitelist** - -.. raw:: html - -
- - -
-

- Whitelist for private smart rollups. If the output is None then the rollup is public.

-
-
-
-    [ $Signature.Public_key_hash ... ] /* Some */ || null /* None */
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $public_key_hash       |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--context--total_currently_staked : - -**GET ..//context/total_currently_staked** - -.. raw:: html - -
- - -
-

- Returns the amount of staked tez by delegates, delegators or overstaked.

-
-
-
-    { "delegates": $021-PsQuebec.mutez,
-      "delegators": $021-PsQuebec.mutez,
-      "overstaked": $021-PsQuebec.mutez }
-    $021-PsQuebec.mutez: $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +------------+----------------------+----------+
-    | Name       | Size                 | Contents |
-    +============+======================+==========+
-    | delegates  | Determined from data | $N.t     |
-    +------------+----------------------+----------+
-    | delegators | Determined from data | $N.t     |
-    +------------+----------------------+----------+
-    | overstaked | Determined from data | $N.t     |
-    +------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--total_frozen_stake : - -**GET ..//context/total_frozen_stake** - -.. raw:: html - -
- - -
-

- Returns the total stake (in mutez) frozen on the chain

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--context--total_supply : - -**GET ..//context/total_supply** - -.. raw:: html - -
- - -
-

- Returns the total supply (in mutez) available on the chain

-
-
-
-    $positive_bignum
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $N.t     |
-    +-----------------+----------------------+----------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-    
-
- - - -.. _GET_..--block_id--hash : - -**GET ..//hash** - -.. raw:: html - -
- - -
-

- The block's hash, its unique identifier.

-
-
-
-    $unistring
-    /* A block identifier (Base58Check-encoded) */
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +------------+----------+----------+
-    | Name       | Size     | Contents |
-    +============+==========+==========+
-    | block_hash | 32 bytes | bytes    |
-    +------------+----------+----------+
-
-
-    
-
- - - -.. _GET_..--block_id--header : - -**GET ..//header** - -.. raw:: html - -
- - -
-

- The whole block header.

-
-
-
-    { /* Shell header
-         Block header's shell-related content. It contains information such as
-         the block level, its predecessor and timestamp. */
-      "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-      "chain_id": $Chain_id,
-      "hash": $block_hash,
-      "level": integer ∈ [-2^31-1, 2^31],
-      "proto": integer ∈ [0, 255],
-      "predecessor": $block_hash,
-      "timestamp": $timestamp.protocol,
-      "validation_pass": integer ∈ [0, 255],
-      "operations_hash": $Operation_list_list_hash,
-      "fitness": $fitness,
-      "context": $Context_hash,
-      "payload_hash": $value_hash,
-      "payload_round": integer ∈ [-2^31-1, 2^31],
-      "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-      "seed_nonce_hash"?: $cycle_nonce,
-      "liquidity_baking_toggle_vote": $021-PsQuebec.liquidity_baking_vote,
-      "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-      "signature": $Signature.V1 }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $block_hash:
-      /* A block identifier (Base58Check-encoded) */
-      $unistring
-    $cycle_nonce:
-      /* A nonce hash (Base58Check-encoded) */
-      $unistring
-    $fitness:
-      /* Block fitness
-         The fitness, or score, of a block, that allow the Tezos to decide
-         which chain is the best. A fitness value is a list of byte sequences.
-         They are compared as follows: shortest lists are smaller; lists of the
-         same length are compared according to the lexicographical order. */
-      [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +---------------------------------------+----------+-------------------------------------+
-    | Name                                  | Size     | Contents                            |
-    +=======================================+==========+=====================================+
-    | chain_id                              | 4 bytes  | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-    | hash                                  | 32 bytes | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-    | level                                 | 4 bytes  | signed 32-bit 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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | 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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.per_block_votes (1 byte, 8-bit tag)
-    ************************************************
-
-    case_0 (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_1 (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_2 (tag 2)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_4 (tag 4)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_5 (tag 5)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_6 (tag 6)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_8 (tag 8)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_9 (tag 9)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_10 (tag 10)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
- - -.. _GET_..--block_id--header--protocol_data : - -**GET ..//header/protocol_data** - -.. raw:: html - -
- - -
-

- The version-specific fragment of the block header.

-
-
-
-    { "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-      "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": $021-PsQuebec.liquidity_baking_vote,
-      "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-      "signature": $Signature.V1 }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $cycle_nonce:
-      /* A nonce hash (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +---------------------------------------+----------+-------------------------------------+
-    | Name                                  | Size     | Contents                            |
-    +=======================================+==========+=====================================+
-    | payload_hash                          | 32 bytes | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-    | payload_round                         | 4 bytes  | signed 32-bit 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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.per_block_votes (1 byte, 8-bit tag)
-    ************************************************
-
-    case_0 (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_1 (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_2 (tag 2)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_4 (tag 4)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_5 (tag 5)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_6 (tag 6)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_8 (tag 8)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_9 (tag 9)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    case_10 (tag 10)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
- - -.. _GET_..--block_id--header--protocol_data--raw : - -**GET ..//header/protocol_data/raw** - -.. raw:: html - -
- - -
-

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

-
-
-
-    /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--header--raw : - -**GET ..//header/raw** - -.. raw:: html - -
- - -
-

- The whole block header (unparsed).

-
-
-
-    /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--header--shell : - -**GET ..//header/shell** - -.. raw:: html - -
- - -
-

- The shell-specific fragment of the block header.

-
-
-
-    { /* Shell header
-         Block header's shell-related content. It contains information such as
-         the block level, its predecessor and timestamp. */
-      "level": integer ∈ [-2^31-1, 2^31],
-      "proto": integer ∈ [0, 255],
-      "predecessor": $block_hash,
-      "timestamp": $timestamp.protocol,
-      "validation_pass": integer ∈ [0, 255],
-      "operations_hash": $Operation_list_list_hash,
-      "fitness": $fitness,
-      "context": $Context_hash }
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $block_hash:
-      /* A block identifier (Base58Check-encoded) */
-      $unistring
-    $fitness:
-      /* Block fitness
-         The fitness, or score, of a block, that allow the Tezos to decide
-         which chain is the best. A fitness value is a list of byte sequences.
-         They are compared as follows: shortest lists are smaller; lists of the
-         same length are compared according to the lexicographical order. */
-      [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +----------------------------+----------+------------------------------------+
-    | Name                       | Size     | Contents                           |
-    +============================+==========+====================================+
-    | level                      | 4 bytes  | signed 32-bit 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                              |
-    +----------------------------+----------+------------------------------------+
-
-
-    fitness.elem
-    ************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--helpers--attestation_rights : - -**GET ..//helpers/attestation_rights?(level=)\*&[cycle=]&(delegate=)\*&(consensus_key=)\*** - -.. raw:: html - -
- - -
-

- Retrieves the delegates allowed to attest a block. - By default, it gives the attestation power for delegates that have at least one attestation slot for the next block. - Parameters `level` and `cycle` can be used to specify the (valid) level(s) in the past or future at which the attestation rights have to be returned. Parameter `delegate` can be used to restrict the results to the given delegates. - Parameter `consensus_key` can be used to restrict the results to the given consensus_keys. - Returns the smallest attestation slots and the attestation power. Also returns the minimal timestamp that corresponds to attestation at the given level. The timestamps are omitted for levels in the past, and are only estimates for levels higher that the next block's, based on the hypothesis that all predecessor blocks were baked at the first round.

Optional query arguments :

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

-
-
-
-    [ { "level": integer ∈ [0, 2^31],
-        "delegates":
-          [ { "delegate": $Signature.Public_key_hash,
-              "first_slot": integer ∈ [0, 2^16-1],
-              "attestation_power": integer ∈ [0, 2^16-1],
-              "consensus_key": $Signature.Public_key_hash } ... ],
-        "estimated_time"?: $timestamp.protocol } ... ]
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_1
-    ***
-
-    +-------------------+----------+------------------------------------+
-    | Name              | Size     | Contents                           |
-    +===================+==========+====================================+
-    | delegate          | 21 bytes | $public_key_hash                   |
-    +-------------------+----------+------------------------------------+
-    | first_slot        | 2 bytes  | unsigned 16-bit big-endian integer |
-    +-------------------+----------+------------------------------------+
-    | attestation_power | 2 bytes  | unsigned 16-bit big-endian integer |
-    +-------------------+----------+------------------------------------+
-    | consensus_key     | 21 bytes | $public_key_hash                   |
-    +-------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +--------------------------------------+----------+-------------------------------------+
-    | Name                                 | Size     | Contents                            |
-    +======================================+==========+=====================================+
-    | level                                | 4 bytes  | signed 32-bit big-endian integer    |
-    +--------------------------------------+----------+-------------------------------------+
-    | # bytes in next field                | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------+----------+-------------------------------------+
-    | delegates                            | Variable | sequence of $X_1                    |
-    +--------------------------------------+----------+-------------------------------------+
-    | ? presence of field "estimated_time" | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------+----------+-------------------------------------+
-    | estimated_time                       | 8 bytes  | signed 64-bit big-endian integer    |
-    +--------------------------------------+----------+-------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--helpers--baking_rights : - -**GET ..//helpers/baking_rights?(level=)\*&[cycle=]&(delegate=)\*&(consensus_key=)\*&[max_round=]&[all]** - -.. raw:: html - -
- - -
-

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

Optional query arguments :

  • level = <block_level>
  • cycle = <block_cycle>
  • delegate = <pkh>
  • consensus_key = <pkh>
  • max_round = <uint>
  • all

-
-
-
-    [ { "level": integer ∈ [0, 2^31],
-        "delegate": $Signature.Public_key_hash,
-        "round": integer ∈ [-2^31-1, 2^31],
-        "estimated_time"?: $timestamp.protocol,
-        "consensus_key": $Signature.Public_key_hash } ... ]
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +--------------------------------------+----------+-------------------------------------+
-    | Name                                 | Size     | Contents                            |
-    +======================================+==========+=====================================+
-    | level                                | 4 bytes  | signed 32-bit big-endian integer    |
-    +--------------------------------------+----------+-------------------------------------+
-    | delegate                             | 21 bytes | $public_key_hash                    |
-    +--------------------------------------+----------+-------------------------------------+
-    | round                                | 4 bytes  | signed 32-bit big-endian integer    |
-    +--------------------------------------+----------+-------------------------------------+
-    | ? presence of field "estimated_time" | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------+----------+-------------------------------------+
-    | estimated_time                       | 8 bytes  | signed 64-bit big-endian integer    |
-    +--------------------------------------+----------+-------------------------------------+
-    | consensus_key                        | 21 bytes | $public_key_hash                    |
-    +--------------------------------------+----------+-------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--helpers--complete--prefix : - -**GET ..//helpers/complete/** - -.. raw:: html - -
- - -
-

- Try to complete a prefix of a Base58Check-encoded data. This RPC is actually able to complete hashes of block, operations, public_keys and contracts.

-
-
-
-    [ $unistring ... ]
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--helpers--current_level : - -**GET ..//helpers/current_level?[offset=]** - -.. raw:: html - -
- - -
-

- Returns the level of the interrogated block, or the one of a block located `offset` blocks after it in the chain. For instance, the next block if `offset` is 1. The offset cannot be negative.

Optional query arguments :

  • offset = <int32>

-
-
-
-    { "level":
-        integer ∈ [0, 2^31]
-        /* The level of the block relative to genesis. This is also the Shell's
-           notion of level. */,
-      "level_position":
-        integer ∈ [-2^31-1, 2^31]
-        /* The level of the block relative to the successor of the genesis
-           block. More precisely, it is the position of the block relative to
-           the block that starts the "Alpha family" of protocols, which
-           includes all protocols except Genesis (that is, from 001 onwards). */,
-      "cycle":
-        integer ∈ [-2^31-1, 2^31]
-        /* The current cycle's number. Note that cycles are a protocol-specific
-           notion. As a result, the cycle number starts at 0 with the first
-           block of the Alpha family of protocols. */,
-      "cycle_position":
-        integer ∈ [-2^31-1, 2^31]
-        /* The current level of the block relative to the first block of the
-           current cycle. */,
-      "expected_commitment":
-        boolean
-        /* Tells whether the baker of this block has to commit a seed nonce
-           hash. */ }
-
-
-
-    +---------------------+---------+-------------------------------------+
-    | Name                | Size    | Contents                            |
-    +=====================+=========+=====================================+
-    | level               | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | level_position      | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | cycle               | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | cycle_position      | 4 bytes | signed 32-bit big-endian integer    |
-    +---------------------+---------+-------------------------------------+
-    | expected_commitment | 1 byte  | boolean (0 for false, 255 for true) |
-    +---------------------+---------+-------------------------------------+
-
-
-    
-
- - - -.. _POST_..--block_id--helpers--forge--operations : - -**POST ..//helpers/forge/operations** - -.. raw:: html - -
- - - - -
-

- Forge an operation

-
-
-
-    { /* An operation's shell header. */
-      "branch": $block_hash,
-      "contents": [ $021-PsQuebec.operation.alpha.contents ... ] }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $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
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $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                                           |
-    +==========+==========+====================================================+
-    | branch   | 32 bytes | bytes                                              |
-    +----------+----------+----------------------------------------------------+
-    | contents | Variable | sequence of $021-PsQuebec.operation.alpha.contents |
-    +----------+----------+----------------------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_1
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-
-
-    X_6
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_6     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_1                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_4                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_7                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_10
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_9
-    ***
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_10                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_13 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_8
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_9     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_13    |
-    +-----------------+----------------------+----------+
-
-
-    X_16 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_14
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_16    |
-    +-----------------+----------------------+----------+
-
-
-    X_17
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_18
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_19
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_20 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_19                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_20                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_22
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_23 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_22                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_21                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_23                  |
-    +--------+----------------------+------------------------+
-
-
-    X_25
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_27 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_28
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.contents (Determined from data, 8-bit tag)
-    ***********************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | Tag   | 1 byte   | unsigned 8-bit integer           |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_30                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_17                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_8                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-
-    
-
-
-
-    /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - - -.. _POST_..--block_id--helpers--forge--protocol_data : - -**POST ..//helpers/forge/protocol_data** - -.. raw:: html - -
- - - - -
-

- Forge the protocol-specific part of a block header

-
-
-
-    { "payload_hash": $value_hash,
-      "payload_round": integer ∈ [-2^31-1, 2^31],
-      "nonce_hash"?: $cycle_nonce,
-      "proof_of_work_nonce"?: /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-      "per_block_votes"?: $021-PsQuebec.per_block_votes }
-    $021-PsQuebec.per_block_votes:
-      { "liquidity_baking_vote": "on" || "off" || "pass",
-        "adaptive_issuance_vote": "on" || "off" || "pass" }
-    $cycle_nonce:
-      /* A nonce hash (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +----------------------------------+----------+-------------------------------------+
-    | Name                             | Size     | Contents                            |
-    +==================================+==========+=====================================+
-    | payload_hash                     | 32 bytes | bytes                               |
-    +----------------------------------+----------+-------------------------------------+
-    | payload_round                    | 4 bytes  | signed 32-bit big-endian integer    |
-    +----------------------------------+----------+-------------------------------------+
-    | ? presence of field "nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------+-------------------------------------+
-    | nonce_hash                       | 32 bytes | bytes                               |
-    +----------------------------------+----------+-------------------------------------+
-    | proof_of_work_nonce              | 8 bytes  | bytes                               |
-    +----------------------------------+----------+-------------------------------------+
-    | per_block_votes                  | 1 byte   | $021-PsQuebec.per_block_votes       |
-    +----------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-    
-
-
-
-    { "protocol_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | protocol_data         | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - - -.. _POST_..--block_id--helpers--forge_block_header : - -**POST ..//helpers/forge_block_header** - -.. raw:: html - -
- - - - -
-

- Forge a block header

-
-
-
-    { /* Block header
-         Block header. It contains both shell and protocol specific data. */
-      "level": integer ∈ [-2^31-1, 2^31],
-      "proto": integer ∈ [0, 255],
-      "predecessor": $block_hash,
-      "timestamp": $timestamp.protocol,
-      "validation_pass": integer ∈ [0, 255],
-      "operations_hash": $Operation_list_list_hash,
-      "fitness": $fitness,
-      "context": $Context_hash,
-      "protocol_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $block_hash:
-      /* A block identifier (Base58Check-encoded) */
-      $unistring
-    $fitness:
-      /* Block fitness
-         The fitness, or score, of a block, that allow the Tezos to decide
-         which chain is the best. A fitness value is a list of byte sequences.
-         They are compared as follows: shortest lists are smaller; lists of the
-         same length are compared according to the lexicographical order. */
-      [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +----------------------------+----------+------------------------------------+
-    | Name                       | Size     | Contents                           |
-    +============================+==========+====================================+
-    | level                      | 4 bytes  | signed 32-bit 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                              |
-    +----------------------------+----------+------------------------------------+
-    | protocol_data              | Variable | bytes                              |
-    +----------------------------+----------+------------------------------------+
-
-
-    fitness.elem
-    ************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "block": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | block                 | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--helpers--levels_in_current_cycle : - -**GET ..//helpers/levels_in_current_cycle?[offset=]** - -.. raw:: html - -
- - -
-

- Levels of a cycle

Optional query arguments :

  • offset = <int32>

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

- Parse a block

-
-
-
-    { /* Block header
-         Block header. It contains both shell and protocol specific data. */
-      "level": integer ∈ [-2^31-1, 2^31],
-      "proto": integer ∈ [0, 255],
-      "predecessor": $block_hash,
-      "timestamp": $timestamp.protocol,
-      "validation_pass": integer ∈ [0, 255],
-      "operations_hash": $Operation_list_list_hash,
-      "fitness": $fitness,
-      "context": $Context_hash,
-      "protocol_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $block_hash:
-      /* A block identifier (Base58Check-encoded) */
-      $unistring
-    $fitness:
-      /* Block fitness
-         The fitness, or score, of a block, that allow the Tezos to decide
-         which chain is the best. A fitness value is a list of byte sequences.
-         They are compared as follows: shortest lists are smaller; lists of the
-         same length are compared according to the lexicographical order. */
-      [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +----------------------------+----------+------------------------------------+
-    | Name                       | Size     | Contents                           |
-    +============================+==========+====================================+
-    | level                      | 4 bytes  | signed 32-bit 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                              |
-    +----------------------------+----------+------------------------------------+
-    | protocol_data              | Variable | bytes                              |
-    +----------------------------+----------+------------------------------------+
-
-
-    fitness.elem
-    ************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "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": $021-PsQuebec.liquidity_baking_vote,
-      "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-      "signature": $Signature.V1 }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $cycle_nonce:
-      /* A nonce hash (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +---------------------------------------+----------+-------------------------------------+
-    | Name                                  | Size     | Contents                            |
-    +=======================================+==========+=====================================+
-    | payload_hash                          | 32 bytes | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-    | payload_round                         | 4 bytes  | signed 32-bit 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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--parse--operations : - -**POST ..//helpers/parse/operations?[version=]** - -.. raw:: html - -
- - - - -
-

- Parse operations

Optional query arguments :

  • version = <version>

-
-
-
-    { "operations": [ $operation ... ],
-      "check_signature"?: boolean }
-    $block_hash:
-      /* A block identifier (Base58Check-encoded) */
-      $unistring
-    $operation:
-      /* An operation. The shell_header part indicates a block an operation is
-         meant to apply on top of. The proto part is protocol-specific and
-         appears as a binary blob. */
-      { "branch": $block_hash,
-        "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------------------+----------+-------------------------------------+
-    | Name                                  | Size     | Contents                            |
-    +=======================================+==========+=====================================+
-    | # bytes in next field                 | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +---------------------------------------+----------+-------------------------------------+
-    | operations                            | Variable | sequence of $X_0                    |
-    +---------------------------------------+----------+-------------------------------------+
-    | ? presence of field "check_signature" | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------------------------------+----------+-------------------------------------+
-    | check_signature                       | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    X_0
-    ***
-
-    +--------------------------+----------+------------------------------------+
-    | Name                     | Size     | Contents                           |
-    +==========================+==========+====================================+
-    | # bytes in next 2 fields | 4 bytes  | unsigned 30-bit big-endian integer |
-    +--------------------------+----------+------------------------------------+
-    | branch                   | 32 bytes | bytes                              |
-    +--------------------------+----------+------------------------------------+
-    | data                     | Variable | bytes                              |
-    +--------------------------+----------+------------------------------------+
-
-    
-
-
-
-    [ { /* An operation's shell header. */
-        "branch": $block_hash,
-        "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1 } ... ]
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $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
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    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_3
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_2
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_4     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_7     |
-    +-----------------+----------------------+----------+
-
-
-    X_8
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_5                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_8                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_11
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_10
-    ****
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_11                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_14 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_9
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_10    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_14    |
-    +-----------------+----------------------+----------+
-
-
-    X_17 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_15
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_17    |
-    +-----------------+----------------------+----------+
-
-
-    X_18
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_19
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_20
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_20                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_22 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_21                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_23
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_23                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_22                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_25 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_24                  |
-    +--------+----------------------+------------------------+
-
-
-    X_26
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_28 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_31
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_31                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_30                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_28) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_29                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_3                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_26                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_19                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_15                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_9                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_1                   |
-    +---------------+----------------------+------------------------+
-
-
-    Signature_prefix (tag 255)
-    ==========================
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | Tag              | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | signature_prefix | 33 bytes | $bls_signature_prefix  |
-    +------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | # bytes in next 3 fields      | 4 bytes  | unsigned 30-bit big-endian integer                                     |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | branch                        | 32 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--preapply--block : - -**POST ..//helpers/preapply/block?[sort]&[timestamp=]** - -.. raw:: html - -
- - - - -
-

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

Optional query arguments :

  • sort
  • timestamp = <date>

-
-
-
-    { "protocol_data":
-        { "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-          "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": $021-PsQuebec.liquidity_baking_vote,
-          "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-          "signature": $Signature.V1 },
-      "operations": [ [ $next_operation ... ] ... ] }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $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
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $next_operation:
-      /* An operation's shell header. */
-      { "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-        "branch": $block_hash,
-        "contents": [ $021-PsQuebec.operation.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                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.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                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.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    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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             | $021-PsQuebec.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 | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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  |
-    +------------------+----------+------------------------+
-
-
-    next_operation
-    **************
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | # 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 $021-PsQuebec.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 $next_operation        |
-    +--------------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "shell_header": $block_header.shell,
-      "operations":
-        [ { "applied":
-              [ { /* An operation. The shell_header part indicates a block an
-                     operation is meant to apply on top of. The proto part is
-                     protocol-specific and appears as a binary blob. */
-                  "hash": $Operation_hash,
-                  "branch": $block_hash,
-                  "data": /^([a-zA-Z0-9][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:
-      /* An error trace. 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                   |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--preapply--operations : - -**POST ..//helpers/preapply/operations?[version=]** - -.. raw:: html - -
- - - - -
-

- Simulate the application of the operations with the context of the given block and return the result of each operation application.

Optional query arguments :

  • version = <version>

-
-
-
-    [ $next_operation ... ]
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $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
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $next_operation:
-      /* An operation's shell header. */
-      { "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-        "branch": $block_hash,
-        "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1 }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $next_operation        |
-    +-----------------------+----------+------------------------------------+
-
-
-    bls_signature_prefix (33 bytes, 8-bit tag)
-    ******************************************
-
-    Bls_prefix (tag 3)
-    ==================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | 32 bytes | bytes                  |
-    +-----------------+----------+------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_1
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-
-
-    X_6
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_6     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_1                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_4                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_7                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_10
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_9
-    ***
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_10                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_13 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_8
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_9     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_13    |
-    +-----------------+----------------------+----------+
-
-
-    X_16 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_14
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_16    |
-    +-----------------+----------------------+----------+
-
-
-    X_17
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_18
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_19
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_20 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_19                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_20                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_22
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_23 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_22                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_21                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_23                  |
-    +--------+----------------------+------------------------+
-
-
-    X_25
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_27 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_28
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_30                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_17                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_8                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-
-
-    Signature_prefix (tag 255)
-    ==========================
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | Tag              | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | signature_prefix | 33 bytes | $bls_signature_prefix  |
-    +------------------+----------+------------------------+
-
-
-    next_operation
-    **************
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | # 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 $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-    
-
-
-
-    [ $021-PsQuebec.operation.alpha.operation_with_metadata ... ]
-    /* preapplied_operations_encoding_v1 */
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.apply_internal_results.alpha.operation_result:
-      { /* transaction */
-        "kind": "transaction",
-        "source": $021-PsQuebec.transaction_destination,
-        "nonce": integer ∈ [0, 2^16-1],
-        "amount": $021-PsQuebec.mutez,
-        "destination": $021-PsQuebec.transaction_destination,
-        "parameters"?: { "entrypoint": $021-PsQuebec.entrypoint,
-                         "value": any },
-        "result":
-          $021-PsQuebec.operation.alpha.internal_operation_result.transaction }
-      || { /* origination */
-           "kind": "origination",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.origination }
-      || { /* delegation */
-           "kind": "delegation",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?: $Signature.Public_key_hash,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.delegation }
-      || { /* event */
-           "kind": "event",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "type": $micheline.021-PsQuebec.michelson_v1.expression,
-           "tag"?: $021-PsQuebec.entrypoint,
-           "payload"?: $micheline.021-PsQuebec.michelson_v1.expression,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.event }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.bond_id:
-      { /* Smart_rollup_bond_id */
-        "smart_rollup": $smart_rollup_address }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.error:
-      /* The full list of RPC errors would be too long to include.
-         It is available at RPC `/errors` (GET).
-         Errors specific to protocol Alpha have an id that starts with
-         `proto.alpha`. */
-      any
-    $021-PsQuebec.frozen_staker:
-      /* frozen_staker
-         Abstract notion of staker used in operation receipts for frozen
-         deposits, either a single staker or all the stakers delegating to some
-         delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-      || { /* Baker */
-           "baker_own_stake": $Signature.Public_key_hash }
-      || { /* Baker_edge */
-           "baker_edge": $Signature.Public_key_hash }
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.lazy_storage_diff:
-      [ { /* big_map */
-          "kind": "big_map",
-          "id": $021-PsQuebec.big_map_id,
-          "diff":
-            { /* update */
-              "action": "update",
-              "updates":
-                [ { "key_hash": $script_expr,
-                    "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                    "value"?: $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* remove */
-                 "action": "remove" }
-            || { /* copy */
-                 "action": "copy",
-                 "source": $021-PsQuebec.big_map_id,
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* alloc */
-                 "action": "alloc",
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-                 "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-                 "value_type": $micheline.021-PsQuebec.michelson_v1.expression } }
-        || { /* sapling_state */
-             "kind": "sapling_state",
-             "id": $021-PsQuebec.sapling_state_id,
-             "diff":
-               { /* update */
-                 "action": "update",
-                 "updates":
-                   { "commitments_and_ciphertexts":
-                       [ [ $sapling.transaction.commitment,
-                           $sapling.transaction.ciphertext ] ... ],
-                     "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* remove */
-                    "action": "remove" }
-               || { /* copy */
-                    "action": "copy",
-                    "source": $021-PsQuebec.sapling_state_id,
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* alloc */
-                    "action": "alloc",
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] },
-                    "memo_size": integer ∈ [0, 2^16-1] } } ... ]
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.operation.alpha.internal_operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.internal_operation_result.event:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.internal_operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.internal_operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_contents_and_result:
-      { /* Attestation */
-        "kind": "attestation",
-        "slot": integer ∈ [0, 2^16-1],
-        "level": integer ∈ [0, 2^31],
-        "round": integer ∈ [-2^31-1, 2^31],
-        "block_payload_hash": $value_hash,
-        "metadata":
-          { "balance_updates"?:
-              $021-PsQuebec.operation_metadata.alpha.balance_updates,
-            "delegate": $Signature.Public_key_hash,
-            "consensus_power": integer ∈ [-2^30, 2^30],
-            "consensus_key": $Signature.Public_key_hash } }
-      || { /* Attestation_with_dal */
-           "kind": "attestation_with_dal",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "dal_attestation": $bignum,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Preattestation */
-           "kind": "preattestation",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.inlined.attestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_preattestation_evidence */
-           "kind": "double_preattestation_evidence",
-           "op1": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Seed_nonce_revelation */
-           "kind": "seed_nonce_revelation",
-           "level": integer ∈ [0, 2^31],
-           "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Vdf_revelation */
-           "kind": "vdf_revelation",
-           "solution":
-             [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_baking_evidence */
-           "kind": "double_baking_evidence",
-           "bh1": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.block_header.alpha.full_header,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Activate_account */
-           "kind": "activate_account",
-           "pkh": $Ed25519.Public_key_hash,
-           "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Proposals */
-           "kind": "proposals",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposals": [ $Protocol_hash ... ],
-           "metadata": {  } }
-      || { /* Ballot */
-           "kind": "ballot",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposal": $Protocol_hash,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { /* Drain_delegate */
-           "kind": "drain_delegate",
-           "consensus_key": $Signature.Public_key_hash,
-           "delegate": $Signature.Public_key_hash,
-           "destination": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "allocated_destination_contract"?: boolean } }
-      || { /* Reveal */
-           "kind": "reveal",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_key": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transaction */
-           "kind": "transaction",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "delegate"?: $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Register_global_constant */
-           "kind": "register_global_constant",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "value": any,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.register_global_constant,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Set_deposits_limit */
-           "kind": "set_deposits_limit",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pk": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.update_consensus_key,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transfer_ticket */
-           "kind": "transfer_ticket",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transfer_ticket,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "slot_header":
-             { "slot_index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment,
-               "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_originate */
-           "kind": "smart_rollup_originate",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
-           "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "parameters_ty": any,
-           "whitelist"?: [ $Signature.Public_key_hash ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_add_messages */
-           "kind": "smart_rollup_add_messages",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_cement */
-           "kind": "smart_rollup_cement",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_publish */
-           "kind": "smart_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "commitment":
-             { "compressed_state": $smart_rollup_state_hash,
-               "inbox_level": integer ∈ [0, 2^31],
-               "predecessor": $smart_rollup_commitment_hash,
-               "number_of_ticks": $int64 },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_refute */
-           "kind": "smart_rollup_refute",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "opponent": $Signature.Public_key_hash,
-           "refutation":
-             { /* Start */
-               "refutation_kind": "start",
-               "player_commitment_hash": $smart_rollup_commitment_hash,
-               "opponent_commitment_hash": $smart_rollup_commitment_hash }
-             || { /* Move */
-                  "refutation_kind": "move",
-                  "choice": $positive_bignum,
-                  "step":
-                    [ { "state"?: $smart_rollup_state_hash,
-                        "tick": $positive_bignum } ... ]
-                    /* Dissection */
-                    || { /* Proof */
-                         "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                         "input_proof"?:
-                           { /* inbox proof */
-                             "input_proof_kind": "inbox_proof",
-                             "level": integer ∈ [0, 2^31],
-                             "message_counter": $positive_bignum,
-                             "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                           || { /* reveal proof */
-                                "input_proof_kind": "reveal_proof",
-                                "reveal_proof":
-                                  { /* raw data proof */
-                                    "reveal_proof_kind": "raw_data_proof",
-                                    "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* metadata proof */
-                                       "reveal_proof_kind": "metadata_proof" }
-                                  || { /* dal page proof */
-                                       "reveal_proof_kind": "dal_page_proof",
-                                       "dal_page_id":
-                                         { "published_level":
-                                             integer ∈ [0, 2^31],
-                                           "slot_index": integer ∈ [0, 255],
-                                           "page_index":
-                                             integer ∈ [-2^15, 2^15-1] },
-                                       "dal_proof":
-                                         /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* dal parameters proof */
-                                       "reveal_proof_kind":
-                                         "dal_parameters_proof" } }
-                           || { /* first input */
-                                "input_proof_kind": "first_input" } } },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_timeout */
-           "kind": "smart_rollup_timeout",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "stakers":
-             { "alice": $Signature.Public_key_hash,
-               "bob": $Signature.Public_key_hash },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_execute_outbox_message */
-           "kind": "smart_rollup_execute_outbox_message",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "cemented_commitment": $smart_rollup_commitment_hash,
-           "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_recover_bond */
-           "kind": "smart_rollup_recover_bond",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "staker": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_origination */
-           "kind": "zk_rollup_origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "circuits_info":
-             [ [ $unistring,
-                 { /* Public */
-                   "public": any }
-                 || { /* Private */
-                      "private": any }
-                 || { /* Fee */
-                      "fee": any } ] ... ],
-           "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "nb_ops": integer ∈ [-2^30, 2^30],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_publish */
-           "kind": "zk_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "zk_rollup": $Zk_rollup_hash,
-           "update":
-             { "pending_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                       "exit_validity": boolean } ] ... ],
-               "private_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
-               "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
-               "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-    $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment:
-      { /* Applied */
-        "status": "applied",
-        "slot_header":
-          { /* v0 */
-            "version": "0",
-            "level": integer ∈ [0, 2^31],
-            "index": integer ∈ [0, 255],
-            "commitment": $DAL_commitment },
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "slot_header":
-             { /* v0 */
-               "version": "0",
-               "level": integer ∈ [0, 2^31],
-               "index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment },
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.operation_result.register_global_constant:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "global_address": $script_expr }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "global_address": $script_expr }
-    $021-PsQuebec.operation.alpha.operation_result.reveal:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "inbox_level": integer ∈ [0, 2^31],
-        "commitment_hash": $smart_rollup_commitment_hash }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "inbox_level": integer ∈ [0, 2^31],
-           "commitment_hash": $smart_rollup_commitment_hash }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "whitelist_update"?:
-          { /* Public */
-            "kind": "public" }
-          || { /* Private */
-               "kind": "update",
-               "whitelist": [ $Signature.Public_key_hash ... ] },
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "whitelist_update"?:
-             { /* Public */
-               "kind": "public" }
-             || { /* Private */
-                  "kind": "update",
-                  "whitelist": [ $Signature.Public_key_hash ... ] },
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "address": $smart_rollup_address,
-        "genesis_commitment_hash": $smart_rollup_commitment_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "address": $smart_rollup_address,
-           "genesis_commitment_hash": $smart_rollup_commitment_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "staked_hash": $smart_rollup_commitment_hash,
-        "published_at_level": integer ∈ [0, 2^31],
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "staked_hash": $smart_rollup_commitment_hash,
-           "published_at_level": integer ∈ [0, 2^31],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_result.transfer_ticket:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.update_consensus_key:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_zk_rollup": $Zk_rollup_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_zk_rollup": $Zk_rollup_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_with_metadata:
-      { /* Operation_with_metadata */
-        "contents":
-          [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-        "signature"?: $Signature.V1 }
-      || { /* Operation_without_metadata */
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-    $021-PsQuebec.operation_metadata.alpha.balance_updates:
-      [ { /* Contract */
-          "kind": "contract",
-          "contract": $021-PsQuebec.contract_id,
-          "change": $int64,
-          "origin": "block" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "block" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash } ... ]
-    $021-PsQuebec.sapling_state_id:
-      /* Sapling state identifier
-         A sapling state identifier */
-      $bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $021-PsQuebec.staker:
-      /* unstaked_frozen_staker
-         Abstract notion of staker used in operation receipts for unstaked
-         frozen deposits, either a single staker or all the stakers delegating
-         to some delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-    $021-PsQuebec.transaction_destination:
-      /* A destination of a transaction
-         A destination notation compatible with the contract notation as given
-         to an RPC or inside scripts. Can be a base58 implicit contract hash, a
-         base58 originated contract hash, a base58 originated transaction
-         rollup, or a base58 originated smart rollup. */
-      $unistring
-    $Blinded public key hash:
-      /* A blinded public key hash (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Ed25519.Public_key_hash:
-      /* An Ed25519 public key hash (Base58Check-encoded) */
-      $unistring
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key:
-      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $Zk_rollup_hash:
-      /* A zk rollup address (Base58Check-encoded) */
-      $unistring
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_2
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_4     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_7     |
-    +-----------------+----------------------+----------+
-
-
-    X_8
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_5                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_8                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_11
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_10
-    ****
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_11                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_14 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_9
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_10    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_14    |
-    +-----------------+----------------------+----------+
-
-
-    X_17 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_15
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_17    |
-    +-----------------+----------------------+----------+
-
-
-    X_18
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_19
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_20
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_20                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_22 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_21                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_23
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_23                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_22                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_25 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_24                  |
-    +--------+----------------------+------------------------+
-
-
-    X_26
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_28 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_31
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.contents (Determined from data, 8-bit tag)
-    ***********************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | Tag   | 1 byte   | unsigned 8-bit integer           |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_31                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_30                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_28) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_29                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_3                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_26                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_19                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_15                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_9                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_1                   |
-    +---------------+----------------------+------------------------+
-
-
-    021-PsQuebec.staker (Determined from data, 8-bit tag)
-    *****************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    021-PsQuebec.bond_id (21 bytes, 8-bit tag)
-    ******************************************
-
-    Smart_rollup_bond_id (tag 1)
-    ============================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | smart_rollup | 20 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    021-PsQuebec.frozen_staker (Determined from data, 8-bit tag)
-    ************************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    Baker (tag 2)
-    =============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | baker_own_stake | 21 bytes | $public_key_hash       |
-    +-----------------+----------+------------------------+
-
-
-    Baker_edge (tag 3)
-    ==================
-
-    +------------+----------+------------------------+
-    | Name       | Size     | Contents               |
-    +============+==========+========================+
-    | Tag        | 1 byte   | unsigned 8-bit integer |
-    +------------+----------+------------------------+
-    | baker_edge | 21 bytes | $public_key_hash       |
-    +------------+----------+------------------------+
-
-
-    X_42 (Determined from data, 8-bit tag)
-    **************************************
-
-    Contract (tag 0)
-    ================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Block_fees (tag 2)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Deposits (tag 4)
-    ================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.frozen_staker      |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Nonce_revelation_rewards (tag 5)
-    ================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Attesting_rewards (tag 7)
-    =========================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_rewards (tag 8)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_bonuses (tag 9)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Storage_fees (tag 11)
-    =====================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Double_signing_punishments (tag 12)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Lost_attesting_rewards (tag 13)
-    ===============================
-
-    +---------------+----------+-------------------------------------+
-    | Name          | Size     | Contents                            |
-    +===============+==========+=====================================+
-    | Tag           | 1 byte   | unsigned 8-bit integer              |
-    +---------------+----------+-------------------------------------+
-    | delegate      | 21 bytes | $public_key_hash                    |
-    +---------------+----------+-------------------------------------+
-    | participation | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | change        | 8 bytes  | signed 64-bit big-endian integer    |
-    +---------------+----------+-------------------------------------+
-
-
-    Liquidity_baking_subsidies (tag 14)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Burned (tag 15)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Commitments (tag 16)
-    ====================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | committer | 20 bytes | bytes                            |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Bootstrap (tag 17)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Invoice (tag 18)
-    ================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Initial_commitments (tag 19)
-    ============================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Minted (tag 20)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Frozen_bonds (tag 21)
-    =====================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | bond_id  | 21 bytes | $021-PsQuebec.bond_id            |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Smart_rollup_refutation_punishments (tag 24)
-    ============================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Smart_rollup_refutation_rewards (tag 25)
-    ========================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Unstaked_deposits (tag 26)
-    ==========================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.staker             |
-    +--------+----------------------+----------------------------------+
-    | cycle  | 4 bytes              | signed 32-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Staking_delegator_numerator (tag 27)
-    ====================================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | delegator | 22 bytes | $021-PsQuebec.contract_id        |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Staking_delegate_denominator (tag 28)
-    =====================================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | delegate | 21 bytes | $public_key_hash                 |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    X_43 (Determined from data, 8-bit tag)
-    **************************************
-
-    Block_application (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Protocol_migration (tag 1)
-    ==========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Subsidy (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Simulation (tag 3)
-    ==================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Delayed_operation (tag 4)
-    =========================
-
-    +------------------------+----------+------------------------+
-    | Name                   | Size     | Contents               |
-    +========================+==========+========================+
-    | Tag                    | 1 byte   | unsigned 8-bit integer |
-    +------------------------+----------+------------------------+
-    | delayed_operation_hash | 32 bytes | bytes                  |
-    +------------------------+----------+------------------------+
-
-
-    X_41
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_42    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_43    |
-    +-----------------+----------------------+----------+
-
-
-    X_44
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
-    ************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.transaction_destination (22 bytes, 8-bit tag)
-    **********************************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    Smart_rollup (tag 3)
-    ====================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | smart_rollup_address | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-    | padding              | 1 byte   | padding                |
-    +----------------------+----------+------------------------+
-
-
-    Zk_rollup (tag 4)
-    =================
-
-    +----------------+----------+------------------------+
-    | Name           | Size     | Contents               |
-    +================+==========+========================+
-    | Tag            | 1 byte   | unsigned 8-bit integer |
-    +----------------+----------+------------------------+
-    | Zk_rollup_hash | 20 bytes | bytes                  |
-    +----------------+----------+------------------------+
-    | padding        | 1 byte   | padding                |
-    +----------------+----------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
-    **********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_66
-    ****
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-
-    X_65
-    ****
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_66                  |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    X_71 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_65                  |
-    +---------+----------------------+------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | source  | Determined from data | $Z.t                   |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_65                  |
-    +---------+----------------------+------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------+----------------------+------------------------------------+
-    | Name      | Size                 | Contents                           |
-    +===========+======================+====================================+
-    | Tag       | 1 byte               | unsigned 8-bit integer             |
-    +-----------+----------------------+------------------------------------+
-    | updates   | Determined from data | $X_65                              |
-    +-----------+----------------------+------------------------------------+
-    | memo_size | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------+----------------------+------------------------------------+
-
-
-    X_72
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | Name                        | Size                 | Contents                                        |
-    +=============================+======================+=================================================+
-    | key_hash                    | 32 bytes             | bytes                                           |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | key                         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | value                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-
-
-    X_83 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | updates               | Variable | sequence of $X_72                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | Determined from data | $Z.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_72                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | updates               | Variable             | sequence of $X_72                               |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | key_type              | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | value_type            | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    X_84 (Determined from data, 8-bit tag)
-    **************************************
-
-    big_map (tag 0)
-    ===============
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_83                  |
-    +------+----------------------+------------------------+
-
-
-    sapling_state (tag 1)
-    =====================
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_71                  |
-    +------+----------------------+------------------------+
-
-
-    021-PsQuebec.lazy_storage_diff
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_84                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                                            |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    X_111
-    *****
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-
-
-    X_114
-    *****
-
-    +---------+----------------------+---------------------------------------+
-    | Name    | Size                 | Contents                              |
-    +=========+======================+=======================================+
-    | account | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +---------+----------------------+---------------------------------------+
-    | amount  | Determined from data | $Z.t                                  |
-    +---------+----------------------+---------------------------------------+
-
-
-    X_110
-    *****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | ticket_token          | Determined from data | $X_111                             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_114                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_144 (Determined from data, 8-bit tag)
-    ***************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_receipt                                                           | Variable             | sequence of $X_110                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_receipt        | Variable             | sequence of $X_110                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_144                 |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_144                              |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    transaction (tag 1)
-    ===================
-
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                             | Size                 | Contents                                                            |
-    +==================================+======================+=====================================================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer                                              |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                           | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                            | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | amount                           | Determined from data | $N.t                                                                |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | parameters                       | Determined from data | $X_30                                                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                           | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.transaction |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    origination (tag 2)
-    ===================
-
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                            |
-    +================================+======================+=====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                              |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | balance                        | Determined from data | $N.t                                                                |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    delegation (tag 3)
-    ==================
-
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                           |
-    +================================+======================+====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                             |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                              |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                 |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                   |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-
-
-    event (tag 4)
-    =============
-
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | Name                          | Size                 | Contents                                                      |
-    +===============================+======================+===============================================================+
-    | Tag                           | 1 byte               | unsigned 8-bit integer                                        |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | source                        | 22 bytes             | $021-PsQuebec.transaction_destination                         |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | nonce                         | 2 bytes              | unsigned 16-bit big-endian integer                            |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | type                          | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | tag                           | Determined from data | $021-PsQuebec.entrypoint                                      |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | payload                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | result                        | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-
-
-    X_40
-    ****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update         |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
-    *************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_186
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
-    *****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_329
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_475 (54 bytes, 8-bit tag)
-    ***************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | slot_header       | 54 bytes             | $X_475                 |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | slot_header                  | 54 bytes             | $X_475                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_470
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
-    *********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_606
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                 |
-    +==========================================================================+======================+==========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                        |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-
-
-    X_760 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +-----------+----------------------+------------------------+
-    | Name      | Size                 | Contents               |
-    +===========+======================+========================+
-    | Tag       | 1 byte               | unsigned 8-bit integer |
-    +-----------+----------------------+------------------------+
-    | whitelist | Determined from data | $X_29                  |
-    +-----------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
-    *******************************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_760                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_760                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_746
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                           |
-    +==========================================================================+======================+====================================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result            |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-
-
-    X_906 (1 byte, 8-bit tag)
-    *************************
-
-    Conflict_resolved (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Timeout (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_907 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Loser (tag 0)
-    =============
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | reason | 1 byte   | $X_906                 |
-    +--------+----------+------------------------+
-    | player | 21 bytes | $public_key_hash       |
-    +--------+----------+------------------------+
-
-
-    Draw (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_908 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Ongoing (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Ended (tag 1)
-    =============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | result | Determined from data | $X_907                 |
-    +--------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | game_status                                                              | Determined from data | $X_908                             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | game_status                                                              | Determined from data | $X_908                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_901
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1200
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+----------------------------------+
-    | Name              | Size                 | Contents                         |
-    +===================+======================+==================================+
-    | Tag               | 1 byte               | unsigned 8-bit integer           |
-    +-------------------+----------------------+----------------------------------+
-    | consumed_milligas | Determined from data | $N.t                             |
-    +-------------------+----------------------+----------------------------------+
-    | inbox_level       | 4 bytes              | signed 32-bit big-endian integer |
-    +-------------------+----------------------+----------------------------------+
-    | commitment_hash   | 32 bytes             | bytes                            |
-    +-------------------+----------------------+----------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-    | inbox_level                  | 4 bytes              | signed 32-bit big-endian integer    |
-    +------------------------------+----------------------+-------------------------------------+
-    | commitment_hash              | 32 bytes             | bytes                               |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_1340
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1475
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event           |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1611
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
-    ***********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1751
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transfer_ticket          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
-    ********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_2309
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.register_global_constant |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2449
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2589
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2809 (Determined from data, 8-bit tag)
-    ****************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_updates        | Variable             | sequence of $X_110                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
-    *******************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_2809                |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_2809                             |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_2770
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transaction              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_3108
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size     | Contents                                                                |
-    +==========================================================================+==========+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | delegate                                                                 | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_power                                                          | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_key                                                            | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-
-
-    X_3120
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | allocated_destination_contract                                           | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation_metadata.alpha.balance_updates
-    *****************************************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_41                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3128
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | ? presence of field "forbidden_delegate"                                 | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | forbidden_delegate                                                       | 21 bytes | $public_key_hash                    |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | level    | 4 bytes              | signed 32-bit big-endian integer                       |
-    +----------+----------------------+--------------------------------------------------------+
-    | nonce    | 32 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Double_attestation_evidence (tag 2)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op1                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_3128                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Double_baking_evidence (tag 3)
-    ==============================
-
-    +-----------------------+----------------------+----------------------------------------------+
-    | Name                  | Size                 | Contents                                     |
-    +=======================+======================+==============================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                       |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh1                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh2                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | metadata              | Determined from data | $X_3128                                      |
-    +-----------------------+----------------------+----------------------------------------------+
-
-
-    Activate_account (tag 4)
-    ========================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | pkh      | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | secret   | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Proposals (tag 5)
-    =================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | source                | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | period                | 4 bytes  | signed 32-bit 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             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------------------+--------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | metadata              | Determined from data | $X_3128                              |
-    +-----------------------+----------------------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | solution | 200 bytes            | $X_31                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | consensus_key | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | delegate      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | destination   | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_3120                |
-    +---------------+----------------------+------------------------+
-
-
-    Preattestation (tag 20)
-    =======================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3108                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation (tag 21)
-    ====================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3108                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation_with_dal (tag 23)
-    =============================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                               |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3108                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Reveal (tag 107)
-    ================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | public_key    | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1475                |
-    +---------------+----------------------+------------------------+
-
-
-    Transaction (tag 108)
-    =====================
-
-    +----------------------------------+----------------------+-------------------------------------+
-    | Name                             | Size                 | Contents                            |
-    +==================================+======================+=====================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer              |
-    +----------------------------------+----------------------+-------------------------------------+
-    | source                           | 21 bytes             | $public_key_hash                    |
-    +----------------------------------+----------------------+-------------------------------------+
-    | fee                              | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | counter                          | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | gas_limit                        | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | storage_limit                    | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | amount                           | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_30                               |
-    +----------------------------------+----------------------+-------------------------------------+
-    | metadata                         | Determined from data | $X_2770                             |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2589                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Delegation (tag 110)
-    ====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2449                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Register_global_constant (tag 111)
-    ==================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_2309                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Set_deposits_limit (tag 112)
-    ============================
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | Tag                         | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------+----------------------+-------------------------------------+
-    | source                      | 21 bytes             | $public_key_hash                    |
-    +-----------------------------+----------------------+-------------------------------------+
-    | fee                         | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | counter                     | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | gas_limit                   | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | storage_limit               | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | limit                       | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | metadata                    | Determined from data | $X_1475                             |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    Increase_paid_storage (tag 113)
-    ===============================
-
-    +---------------+----------------------+--------------------------------------+
-    | Name          | Size                 | Contents                             |
-    +===============+======================+======================================+
-    | Tag           | 1 byte               | unsigned 8-bit integer               |
-    +---------------+----------------------+--------------------------------------+
-    | source        | 21 bytes             | $public_key_hash                     |
-    +---------------+----------------------+--------------------------------------+
-    | fee           | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | counter       | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | gas_limit     | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | storage_limit | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | amount        | Determined from data | $Z.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | destination   | 22 bytes             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-    | metadata      | Determined from data | $X_606                               |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1475                |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | entrypoint            | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1751                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_originate (tag 200)
-    ================================
-
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | Name                            | Size                 | Contents                                                  |
-    +=================================+======================+===========================================================+
-    | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | source                          | 21 bytes             | $public_key_hash                                          |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | fee                             | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | counter                         | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | gas_limit                       | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | storage_limit                   | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_28) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # bytes in next field           | 4 bytes              | unsigned 30-bit 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_29                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | metadata                        | Determined from data | $X_1611                                                   |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_3                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1475                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1340                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_26                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1200                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_25                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_901                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_19                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_901                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | output_proof          | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_746                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_recover_bond (tag 207)
-    ===================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | staker        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_606                 |
-    +---------------+----------------------+------------------------+
-
-
-    Dal_publish_commitment (tag 230)
-    ================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | slot_header   | 145 bytes            | $X_18                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_470                 |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_15                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | metadata              | Determined from data | $X_329                                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    Zk_rollup_publish (tag 251)
-    ===========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | zk_rollup             | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op                    | Variable             | sequence of $X_9                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_186                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_1                   |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_40                  |
-    +---------------+----------------------+------------------------+
-
-
-    X_3146 (Variable, 8-bit tag)
-    ****************************
-
-    Operation_with_metadata (tag 0)
-    ===============================
-
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                |
-    +=======================+==========+=========================================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                                                  |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.operation_contents_and_result |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | signature             | Variable | bytes                                                                   |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-
-
-    Operation_without_metadata (tag 1)
-    ==================================
-
-    +-----------------------+----------+----------------------------------------------------+
-    | Name                  | Size     | Contents                                           |
-    +=======================+==========+====================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                             |
-    +-----------------------+----------+----------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                 |
-    +-----------------------+----------+----------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.contents |
-    +-----------------------+----------+----------------------------------------------------+
-    | signature             | Variable | bytes                                              |
-    +-----------------------+----------+----------------------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | $X_3146                            |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--helpers--round : - -**GET ..//helpers/round** - -.. raw:: html - -
- - -
-

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

-
-
-
-    integer ∈ [-2^31-1, 2^31]
-
-
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Unnamed field 0 | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--entrypoint : - -**POST ..//helpers/scripts/entrypoint** - -.. raw:: html - -
- - - - -
-

- Return the type of the given entrypoint

-
-
-
-    { "script": $micheline.021-PsQuebec.michelson_v1.expression,
-      "entrypoint"?: $unistring }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | script                | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | entrypoint            | Variable             | bytes                                           |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "entrypoint_type": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+-------------------------------------------------+
-    | Name            | Size                 | Contents                                        |
-    +=================+======================+=================================================+
-    | entrypoint_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--entrypoints : - -**POST ..//helpers/scripts/entrypoints** - -.. raw:: html - -
- - - - -
-

- Return the list of entrypoints of the given script

-
-
-
-    { "script": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +--------+----------------------+-------------------------------------------------+
-    | Name   | Size                 | Contents                                        |
-    +========+======================+=================================================+
-    | script | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "unreachable"?:
-        [ { "path": [ $021-PsQuebec.michelson.v1.primitives ... ] } ... ],
-      "entrypoints": { *: $micheline.021-PsQuebec.michelson_v1.expression } }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | unreachable           | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | entrypoints           | Variable | sequence of $X_1                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------+-------------------------------------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                                              |
-    +=======================+==========+=======================================================================================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                                    |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------------------+
-    | Unnamed field 0       | Variable | sequence of unsigned 8-bit integer encoding an enumeration (see 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------------------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------+----------------------+-------------------------------------------------+
-    | Name            | Size                 | Contents                                        |
-    +=================+======================+=================================================+
-    | Unnamed field 0 | Determined from data | $X_2                                            |
-    +-----------------+----------------------+-------------------------------------------------+
-    | Unnamed field 1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------+----------------------+-------------------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--normalize_data : - -**POST ..//helpers/scripts/normalize_data** - -.. raw:: html - -
- - - - -
-

- Normalizes some data expression using the requested unparsing mode

-
-
-
-    { "data": $micheline.021-PsQuebec.michelson_v1.expression,
-      "type": $micheline.021-PsQuebec.michelson_v1.expression,
-      "unparsing_mode": "Readable" || "Optimized" || "Optimized_legacy",
-      "legacy"?: boolean,
-      "other_contracts"?:
-        [ { "address": $Contract_hash,
-            "type": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "extra_big_maps"?:
-        [ { "id": $021-PsQuebec.big_map_id,
-            "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "map_literal": $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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"
-    $Contract_hash:
-      /* A contract ID (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | Name                                  | Size                 | Contents                                        |
-    +=======================================+======================+=================================================+
-    | data                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | type                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | unparsing_mode                        | 1 byte               | $X_2                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | legacy                                | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "other_contracts" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | other_contracts                       | Determined from data | $X_3                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "extra_big_maps"  | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | extra_big_maps                        | Determined from data | $X_6                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_2 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_4
-    ***
-
-    +---------+----------------------+-------------------------------------------------+
-    | Name    | Size                 | Contents                                        |
-    +=========+======================+=================================================+
-    | address | 20 bytes             | bytes                                           |
-    +---------+----------------------+-------------------------------------------------+
-    | type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------+----------------------+-------------------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_4                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_7
-    ***
-
-    +-------------+----------------------+-------------------------------------------------+
-    | Name        | Size                 | Contents                                        |
-    +=============+======================+=================================================+
-    | id          | Determined from data | $Z.t                                            |
-    +-------------+----------------------+-------------------------------------------------+
-    | key_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | val_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | map_literal | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-
-
-    X_6
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_7                   |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "normalized": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +------------+----------------------+-------------------------------------------------+
-    | Name       | Size                 | Contents                                        |
-    +============+======================+=================================================+
-    | normalized | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--normalize_script : - -**POST ..//helpers/scripts/normalize_script** - -.. raw:: html - -
- - - - -
-

- Normalizes a Michelson script using the requested unparsing mode

-
-
-
-    { "script": $micheline.021-PsQuebec.michelson_v1.expression,
-      "unparsing_mode": "Readable" || "Optimized" || "Optimized_legacy" }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +----------------+----------------------+-------------------------------------------------+
-    | Name           | Size                 | Contents                                        |
-    +================+======================+=================================================+
-    | script         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------------+----------------------+-------------------------------------------------+
-    | unparsing_mode | 1 byte               | $X_1                                            |
-    +----------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
-
-
-    { "normalized": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +------------+----------------------+-------------------------------------------------+
-    | Name       | Size                 | Contents                                        |
-    +============+======================+=================================================+
-    | normalized | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--normalize_stack : - -**POST ..//helpers/scripts/normalize_stack** - -.. raw:: html - -
- - - - -
-

- Normalize a Michelson stack using the requested unparsing mode

-
-
-
-    { "input":
-        [ { "type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "unparsing_mode": "Readable" || "Optimized" || "Optimized_legacy",
-      "legacy"?: boolean,
-      "other_contracts"?:
-        [ { "address": $Contract_hash,
-            "type": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "extra_big_maps"?:
-        [ { "id": $021-PsQuebec.big_map_id,
-            "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "map_literal": $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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"
-    $Contract_hash:
-      /* A contract ID (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------------------+----------------------+-------------------------------------+
-    | Name                                  | Size                 | Contents                            |
-    +=======================================+======================+=====================================+
-    | # bytes in next field                 | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +---------------------------------------+----------------------+-------------------------------------+
-    | input                                 | Variable             | sequence of $X_0                    |
-    +---------------------------------------+----------------------+-------------------------------------+
-    | unparsing_mode                        | 1 byte               | $X_3                                |
-    +---------------------------------------+----------------------+-------------------------------------+
-    | legacy                                | 1 byte               | boolean (0 for false, 255 for true) |
-    +---------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "other_contracts" | 1 byte               | boolean (0 for false, 255 for true) |
-    +---------------------------------------+----------------------+-------------------------------------+
-    | other_contracts                       | Determined from data | $X_4                                |
-    +---------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "extra_big_maps"  | 1 byte               | boolean (0 for false, 255 for true) |
-    +---------------------------------------+----------------------+-------------------------------------+
-    | extra_big_maps                        | Determined from data | $X_7                                |
-    +---------------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +------+----------------------+-------------------------------------------------+
-    | Name | Size                 | Contents                                        |
-    +======+======================+=================================================+
-    | type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-    | val  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-
-
-    X_3 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_5
-    ***
-
-    +---------+----------------------+-------------------------------------------------+
-    | Name    | Size                 | Contents                                        |
-    +=========+======================+=================================================+
-    | address | 20 bytes             | bytes                                           |
-    +---------+----------------------+-------------------------------------------------+
-    | type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------+----------------------+-------------------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_5                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_8
-    ***
-
-    +-------------+----------------------+-------------------------------------------------+
-    | Name        | Size                 | Contents                                        |
-    +=============+======================+=================================================+
-    | id          | Determined from data | $Z.t                                            |
-    +-------------+----------------------+-------------------------------------------------+
-    | key_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | val_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | map_literal | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_8                   |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "output":
-        [ { "type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val": $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | output                | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +------+----------------------+-------------------------------------------------+
-    | Name | Size                 | Contents                                        |
-    +======+======================+=================================================+
-    | type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-    | val  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--normalize_type : - -**POST ..//helpers/scripts/normalize_type** - -.. raw:: html - -
- - - - -
-

- Normalizes some Michelson type by expanding `pair a b c` as `pair a (pair b c)

-
-
-
-    { "type": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +------+----------------------+-------------------------------------------------+
-    | Name | Size                 | Contents                                        |
-    +======+======================+=================================================+
-    | type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "normalized": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +------------+----------------------+-------------------------------------------------+
-    | Name       | Size                 | Contents                                        |
-    +============+======================+=================================================+
-    | normalized | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--pack_data : - -**POST ..//helpers/scripts/pack_data** - -.. raw:: html - -
- - - - -
-

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

-
-
-
-    { "data": $micheline.021-PsQuebec.michelson_v1.expression,
-      "type": $micheline.021-PsQuebec.michelson_v1.expression,
-      "gas"?: $bignum }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------+----------------------+-------------------------------------------------+
-    | Name                      | Size                 | Contents                                        |
-    +===========================+======================+=================================================+
-    | data                      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | type                      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "gas" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | gas                       | Determined from data | $Z.t                                            |
-    +---------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "packed": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-      "gas": $bignum /* Limited */ || "unaccounted" }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-
-
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | packed                | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | gas                   | Determined from data | $X_0                               |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    Limited (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $Z.t                   |
-    +-----------------+----------------------+------------------------+
-
-
-    Unaccounted (tag 1)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--run_code : - -**POST ..//helpers/scripts/run_code** - -.. raw:: html - -
- - - - -
-

- Run a Michelson script in the current context

-
-
-
-    { "script": $micheline.021-PsQuebec.michelson_v1.expression,
-      "storage": $micheline.021-PsQuebec.michelson_v1.expression,
-      "input": $micheline.021-PsQuebec.michelson_v1.expression,
-      "amount": $021-PsQuebec.mutez,
-      "balance"?: $021-PsQuebec.mutez,
-      "chain_id": $Chain_id,
-      "source"?: $021-PsQuebec.contract_id,
-      "payer"?: $021-PsQuebec.contract_id.implicit,
-      "self"?: $021-PsQuebec.contract_id.originated,
-      "entrypoint"?: $unistring,
-      "unparsing_mode"?: "Readable" || "Optimized" || "Optimized_legacy",
-      "gas"?: $bignum,
-      "now"?: $bignum,
-      "level"?: $positive_bignum,
-      "other_contracts"?:
-        [ { "address": $Contract_hash,
-            "type": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "extra_big_maps"?:
-        [ { "id": $021-PsQuebec.big_map_id,
-            "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "map_literal": $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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
-    $021-PsQuebec.contract_id.implicit:
-      /* A contract handle -- implicit account
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash. */
-      $unistring
-    $021-PsQuebec.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
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Contract_hash:
-      /* A contract ID (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | Name                                  | Size                 | Contents                                        |
-    +=======================================+======================+=================================================+
-    | script                                | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | storage                               | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | input                                 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | amount                                | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "balance"         | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | balance                               | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | chain_id                              | 4 bytes              | bytes                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "source"          | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | source                                | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "payer"           | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | payer                                 | 22 bytes             | $021-PsQuebec.contract_id.implicit              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "self"            | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | self                                  | 22 bytes             | $021-PsQuebec.contract_id.originated            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field                 | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | entrypoint                            | Variable             | bytes                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "unparsing_mode"  | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | unparsing_mode                        | 1 byte               | $X_3                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "gas"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | gas                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "now"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | now                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "level"           | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | level                                 | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "other_contracts" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | other_contracts                       | Determined from data | $X_4                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "extra_big_maps"  | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | extra_big_maps                        | Determined from data | $X_7                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.contract_id.implicit (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       |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    X_3 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_5
-    ***
-
-    +---------+----------------------+-------------------------------------------------+
-    | Name    | Size                 | Contents                                        |
-    +=========+======================+=================================================+
-    | address | 20 bytes             | bytes                                           |
-    +---------+----------------------+-------------------------------------------------+
-    | type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------+----------------------+-------------------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_5                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_8
-    ***
-
-    +-------------+----------------------+-------------------------------------------------+
-    | Name        | Size                 | Contents                                        |
-    +=============+======================+=================================================+
-    | id          | Determined from data | $Z.t                                            |
-    +-------------+----------------------+-------------------------------------------------+
-    | key_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | val_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | map_literal | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_8                   |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "storage": $micheline.021-PsQuebec.michelson_v1.expression,
-      "operations":
-        [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ],
-      "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.apply_internal_results.alpha.operation_result:
-      { /* Transaction */
-        "source": $021-PsQuebec.transaction_destination,
-        "nonce": integer ∈ [0, 2^16-1],
-        "kind": "transaction",
-        "amount": $021-PsQuebec.mutez,
-        "destination": $021-PsQuebec.transaction_destination,
-        "parameters"?: { "entrypoint": $021-PsQuebec.entrypoint,
-                         "value": any } }
-      || { /* Origination */
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "origination",
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "delegation",
-           "delegate"?: $Signature.Public_key_hash }
-      || { /* Event */
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "event",
-           "type": $micheline.021-PsQuebec.michelson_v1.expression,
-           "tag"?: $021-PsQuebec.entrypoint,
-           "payload"?: $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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 */
-    $021-PsQuebec.lazy_storage_diff:
-      [ { /* big_map */
-          "kind": "big_map",
-          "id": $021-PsQuebec.big_map_id,
-          "diff":
-            { /* update */
-              "action": "update",
-              "updates":
-                [ { "key_hash": $script_expr,
-                    "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                    "value"?: $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* remove */
-                 "action": "remove" }
-            || { /* copy */
-                 "action": "copy",
-                 "source": $021-PsQuebec.big_map_id,
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* alloc */
-                 "action": "alloc",
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-                 "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-                 "value_type": $micheline.021-PsQuebec.michelson_v1.expression } }
-        || { /* sapling_state */
-             "kind": "sapling_state",
-             "id": $021-PsQuebec.sapling_state_id,
-             "diff":
-               { /* update */
-                 "action": "update",
-                 "updates":
-                   { "commitments_and_ciphertexts":
-                       [ [ $sapling.transaction.commitment,
-                           $sapling.transaction.ciphertext ] ... ],
-                     "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* remove */
-                    "action": "remove" }
-               || { /* copy */
-                    "action": "copy",
-                    "source": $021-PsQuebec.sapling_state_id,
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* alloc */
-                    "action": "alloc",
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] },
-                    "memo_size": integer ∈ [0, 2^16-1] } } ... ]
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.sapling_state_id:
-      /* Sapling state identifier
-         A sapling state identifier */
-      $bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $021-PsQuebec.transaction_destination:
-      /* A destination of a transaction
-         A destination notation compatible with the contract notation as given
-         to an RPC or inside scripts. Can be a base58 implicit contract hash, a
-         base58 originated contract hash, a base58 originated transaction
-         rollup, or a base58 originated smart rollup. */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $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                                                                |
-    +=========================================+======================+=========================================================================+
-    | storage                                 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                         |
-    +-----------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                   | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operations                              | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +-----------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | ? presence of field "lazy_storage_diff" | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +-----------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | lazy_storage_diff                       | Determined from data | $021-PsQuebec.lazy_storage_diff                                         |
-    +-----------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    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                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.transaction_destination (22 bytes, 8-bit tag)
-    **********************************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    Smart_rollup (tag 3)
-    ====================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | smart_rollup_address | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-    | padding              | 1 byte   | padding                |
-    +----------------------+----------+------------------------+
-
-
-    Zk_rollup (tag 4)
-    =================
-
-    +----------------+----------+------------------------+
-    | Name           | Size     | Contents               |
-    +================+==========+========================+
-    | Tag            | 1 byte   | unsigned 8-bit integer |
-    +----------------+----------+------------------------+
-    | Zk_rollup_hash | 20 bytes | bytes                  |
-    +----------------+----------+------------------------+
-    | padding        | 1 byte   | padding                |
-    +----------------+----------+------------------------+
-
-
-    021-PsQuebec.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                  |
-    +-----------------------+----------+------------------------+
-
-
-    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    |
-    +------+----------------------+----------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_4 (Determined from data, 8-bit tag)
-    *************************************
-
-    Transaction (tag 1)
-    ===================
-
-    +----------------------------------+----------------------+---------------------------------------+
-    | Name                             | Size                 | Contents                              |
-    +==================================+======================+=======================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer                |
-    +----------------------------------+----------------------+---------------------------------------+
-    | amount                           | Determined from data | $N.t                                  |
-    +----------------------------------+----------------------+---------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +----------------------------------+----------------------+---------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)   |
-    +----------------------------------+----------------------+---------------------------------------+
-    | parameters                       | Determined from data | $X_3                                  |
-    +----------------------------------+----------------------+---------------------------------------+
-
-
-    Origination (tag 2)
-    ===================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Delegation (tag 3)
-    ==================
-
-    +--------------------------------+----------+-------------------------------------+
-    | Name                           | Size     | Contents                            |
-    +================================+==========+=====================================+
-    | Tag                            | 1 byte   | unsigned 8-bit integer              |
-    +--------------------------------+----------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------+-------------------------------------+
-    | delegate                       | 21 bytes | $public_key_hash                    |
-    +--------------------------------+----------+-------------------------------------+
-
-
-    Event (tag 4)
-    =============
-
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | Name                          | Size                 | Contents                                        |
-    +===============================+======================+=================================================+
-    | Tag                           | 1 byte               | unsigned 8-bit integer                          |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | type                          | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | tag                           | Determined from data | $021-PsQuebec.entrypoint                        |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | payload                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.apply_internal_results.alpha.operation_result
-    **********************************************************
-
-    +-----------------+----------------------+---------------------------------------+
-    | Name            | Size                 | Contents                              |
-    +=================+======================+=======================================+
-    | source          | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +-----------------+----------------------+---------------------------------------+
-    | nonce           | 2 bytes              | unsigned 16-bit big-endian integer    |
-    +-----------------+----------------------+---------------------------------------+
-    | Unnamed field 0 | Determined from data | $X_4                                  |
-    +-----------------+----------------------+---------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_6
-    ***
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_6                   |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    X_11 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_5                   |
-    +---------+----------------------+------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | source  | Determined from data | $Z.t                   |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_5                   |
-    +---------+----------------------+------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------+----------------------+------------------------------------+
-    | Name      | Size                 | Contents                           |
-    +===========+======================+====================================+
-    | Tag       | 1 byte               | unsigned 8-bit integer             |
-    +-----------+----------------------+------------------------------------+
-    | updates   | Determined from data | $X_5                               |
-    +-----------+----------------------+------------------------------------+
-    | memo_size | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------+----------------------+------------------------------------+
-
-
-    X_12
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | Name                        | Size                 | Contents                                        |
-    +=============================+======================+=================================================+
-    | key_hash                    | 32 bytes             | bytes                                           |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | key                         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | value                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-
-
-    X_23 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | updates               | Variable | sequence of $X_12                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | Determined from data | $Z.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_12                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | updates               | Variable             | sequence of $X_12                               |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | key_type              | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | value_type            | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    big_map (tag 0)
-    ===============
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_23                  |
-    +------+----------------------+------------------------+
-
-
-    sapling_state (tag 1)
-    =====================
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_11                  |
-    +------+----------------------+------------------------+
-
-
-    021-PsQuebec.lazy_storage_diff
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_24                  |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--run_instruction : - -**POST ..//helpers/scripts/run_instruction** - -.. raw:: html - -
- - - - -
-

- Run a single Michelson instruction

-
-
-
-    { "input":
-        [ { "type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "code": $micheline.021-PsQuebec.michelson_v1.expression,
-      "chain_id": $Chain_id,
-      "gas"?: $bignum,
-      "now"?: $bignum,
-      "level"?: $positive_bignum,
-      "sender"?: $021-PsQuebec.contract_id,
-      "source"?: $021-PsQuebec.contract_id.implicit,
-      "self"?: $021-PsQuebec.contract_id.originated,
-      "parameter"?: $micheline.021-PsQuebec.michelson_v1.expression,
-      "amount": $021-PsQuebec.mutez,
-      "balance"?: $021-PsQuebec.mutez,
-      "other_contracts"?:
-        [ { "address": $Contract_hash,
-            "type": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "big_maps"?:
-        [ { "id": $021-PsQuebec.big_map_id,
-            "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "map_literal": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "unparsing_mode"?: "Readable" || "Optimized" || "Optimized_legacy",
-      "legacy"?: boolean }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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
-    $021-PsQuebec.contract_id.implicit:
-      /* A contract handle -- implicit account
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash. */
-      $unistring
-    $021-PsQuebec.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
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Contract_hash:
-      /* A contract ID (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | Name                                  | Size                 | Contents                                        |
-    +=======================================+======================+=================================================+
-    | # bytes in next field                 | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | input                                 | Variable             | sequence of $X_0                                |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | code                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | chain_id                              | 4 bytes              | bytes                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "gas"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | gas                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "now"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | now                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "level"           | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | level                                 | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "sender"          | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | sender                                | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "source"          | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | source                                | 22 bytes             | $021-PsQuebec.contract_id.implicit              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "self"            | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | self                                  | 22 bytes             | $021-PsQuebec.contract_id.originated            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "parameter"       | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | parameter                             | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | amount                                | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "balance"         | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | balance                               | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "other_contracts" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | other_contracts                       | Determined from data | $X_5                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "big_maps"        | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | big_maps                              | Determined from data | $X_8                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "unparsing_mode"  | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | unparsing_mode                        | 1 byte               | $X_13                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | legacy                                | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +------+----------------------+-------------------------------------------------+
-    | Name | Size                 | Contents                                        |
-    +======+======================+=================================================+
-    | type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-    | val  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.contract_id.implicit (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       |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    X_6
-    ***
-
-    +---------+----------------------+-------------------------------------------------+
-    | Name    | Size                 | Contents                                        |
-    +=========+======================+=================================================+
-    | address | 20 bytes             | bytes                                           |
-    +---------+----------------------+-------------------------------------------------+
-    | type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------+----------------------+-------------------------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_6                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_9
-    ***
-
-    +-------------+----------------------+-------------------------------------------------+
-    | Name        | Size                 | Contents                                        |
-    +=============+======================+=================================================+
-    | id          | Determined from data | $Z.t                                            |
-    +-------------+----------------------+-------------------------------------------------+
-    | key_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | val_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | map_literal | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-
-
-    X_8
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_9                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_13 (1 byte, 8-bit tag)
-    ************************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
-
-
-    { "output":
-        [ { "type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "gas": $bignum /* Limited */ || "unaccounted" }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | output                | Variable             | sequence of $X_0                   |
-    +-----------------------+----------------------+------------------------------------+
-    | gas                   | Determined from data | $X_3                               |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +------+----------------------+-------------------------------------------------+
-    | Name | Size                 | Contents                                        |
-    +======+======================+=================================================+
-    | type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-    | val  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-
-
-    X_3 (Determined from data, 8-bit tag)
-    *************************************
-
-    Limited (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $Z.t                   |
-    +-----------------+----------------------+------------------------+
-
-
-    Unaccounted (tag 1)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--run_operation : - -**POST ..//helpers/scripts/run_operation?[version=]** - -.. raw:: html - -
- - - - -
-

- Run an operation with the context of the given block and without signature checks. Return the operation application result, including the consumed gas. This RPC does not support consensus operations.

Optional query arguments :

  • version = <version>

-
-
-
-    { "operation":
-        { /* An operation's shell header. */
-          "branch": $block_hash,
-          "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-          "signature"?: $Signature.V1 },
-      "chain_id": $Chain_id }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Ed25519.Public_key_hash:
-      /* An Ed25519 public key hash (Base58Check-encoded) */
-      $unistring
-    $Operation_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
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $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 |
-    +===========+==========+==========+
-    | operation | Variable | $X_0     |
-    +-----------+----------+----------+
-    | chain_id  | 4 bytes  | 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_3
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_2
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_4     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_7     |
-    +-----------------+----------------------+----------+
-
-
-    X_8
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_5                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_8                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_11
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_10
-    ****
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_11                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_14 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_9
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_10    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_14    |
-    +-----------------+----------------------+----------+
-
-
-    X_17 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_15
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_17    |
-    +-----------------+----------------------+----------+
-
-
-    X_18
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_19
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_20
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_20                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_22 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_21                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_23
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_23                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_22                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_25 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_24                  |
-    +--------+----------------------+------------------------+
-
-
-    X_26
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_28 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_31
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_31                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_30                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_28) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_29                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_3                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_26                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_19                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_15                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_9                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_1                   |
-    +---------------+----------------------+------------------------+
-
-
-    Signature_prefix (tag 255)
-    ==========================
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | Tag              | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | signature_prefix | 33 bytes | $bls_signature_prefix  |
-    +------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | branch                        | 32 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-    
-
-
-
-    { /* Operation_with_metadata */
-      "contents":
-        [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-      "signature"?: $Signature.V1 }
-    || { /* Operation_without_metadata */
-         "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-         "signature"?: $Signature.V1 }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.apply_internal_results.alpha.operation_result:
-      { /* transaction */
-        "kind": "transaction",
-        "source": $021-PsQuebec.transaction_destination,
-        "nonce": integer ∈ [0, 2^16-1],
-        "amount": $021-PsQuebec.mutez,
-        "destination": $021-PsQuebec.transaction_destination,
-        "parameters"?: { "entrypoint": $021-PsQuebec.entrypoint,
-                         "value": any },
-        "result":
-          $021-PsQuebec.operation.alpha.internal_operation_result.transaction }
-      || { /* origination */
-           "kind": "origination",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.origination }
-      || { /* delegation */
-           "kind": "delegation",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?: $Signature.Public_key_hash,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.delegation }
-      || { /* event */
-           "kind": "event",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "type": $micheline.021-PsQuebec.michelson_v1.expression,
-           "tag"?: $021-PsQuebec.entrypoint,
-           "payload"?: $micheline.021-PsQuebec.michelson_v1.expression,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.event }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.bond_id:
-      { /* Smart_rollup_bond_id */
-        "smart_rollup": $smart_rollup_address }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.error:
-      /* The full list of RPC errors would be too long to include.
-         It is available at RPC `/errors` (GET).
-         Errors specific to protocol Alpha have an id that starts with
-         `proto.alpha`. */
-      any
-    $021-PsQuebec.frozen_staker:
-      /* frozen_staker
-         Abstract notion of staker used in operation receipts for frozen
-         deposits, either a single staker or all the stakers delegating to some
-         delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-      || { /* Baker */
-           "baker_own_stake": $Signature.Public_key_hash }
-      || { /* Baker_edge */
-           "baker_edge": $Signature.Public_key_hash }
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.lazy_storage_diff:
-      [ { /* big_map */
-          "kind": "big_map",
-          "id": $021-PsQuebec.big_map_id,
-          "diff":
-            { /* update */
-              "action": "update",
-              "updates":
-                [ { "key_hash": $script_expr,
-                    "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                    "value"?: $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* remove */
-                 "action": "remove" }
-            || { /* copy */
-                 "action": "copy",
-                 "source": $021-PsQuebec.big_map_id,
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* alloc */
-                 "action": "alloc",
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-                 "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-                 "value_type": $micheline.021-PsQuebec.michelson_v1.expression } }
-        || { /* sapling_state */
-             "kind": "sapling_state",
-             "id": $021-PsQuebec.sapling_state_id,
-             "diff":
-               { /* update */
-                 "action": "update",
-                 "updates":
-                   { "commitments_and_ciphertexts":
-                       [ [ $sapling.transaction.commitment,
-                           $sapling.transaction.ciphertext ] ... ],
-                     "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* remove */
-                    "action": "remove" }
-               || { /* copy */
-                    "action": "copy",
-                    "source": $021-PsQuebec.sapling_state_id,
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* alloc */
-                    "action": "alloc",
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] },
-                    "memo_size": integer ∈ [0, 2^16-1] } } ... ]
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.operation.alpha.internal_operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.internal_operation_result.event:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.internal_operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.internal_operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_contents_and_result:
-      { /* Attestation */
-        "kind": "attestation",
-        "slot": integer ∈ [0, 2^16-1],
-        "level": integer ∈ [0, 2^31],
-        "round": integer ∈ [-2^31-1, 2^31],
-        "block_payload_hash": $value_hash,
-        "metadata":
-          { "balance_updates"?:
-              $021-PsQuebec.operation_metadata.alpha.balance_updates,
-            "delegate": $Signature.Public_key_hash,
-            "consensus_power": integer ∈ [-2^30, 2^30],
-            "consensus_key": $Signature.Public_key_hash } }
-      || { /* Attestation_with_dal */
-           "kind": "attestation_with_dal",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "dal_attestation": $bignum,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Preattestation */
-           "kind": "preattestation",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.inlined.attestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_preattestation_evidence */
-           "kind": "double_preattestation_evidence",
-           "op1": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Seed_nonce_revelation */
-           "kind": "seed_nonce_revelation",
-           "level": integer ∈ [0, 2^31],
-           "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Vdf_revelation */
-           "kind": "vdf_revelation",
-           "solution":
-             [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_baking_evidence */
-           "kind": "double_baking_evidence",
-           "bh1": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.block_header.alpha.full_header,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Activate_account */
-           "kind": "activate_account",
-           "pkh": $Ed25519.Public_key_hash,
-           "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Proposals */
-           "kind": "proposals",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposals": [ $Protocol_hash ... ],
-           "metadata": {  } }
-      || { /* Ballot */
-           "kind": "ballot",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposal": $Protocol_hash,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { /* Drain_delegate */
-           "kind": "drain_delegate",
-           "consensus_key": $Signature.Public_key_hash,
-           "delegate": $Signature.Public_key_hash,
-           "destination": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "allocated_destination_contract"?: boolean } }
-      || { /* Reveal */
-           "kind": "reveal",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_key": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transaction */
-           "kind": "transaction",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "delegate"?: $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Register_global_constant */
-           "kind": "register_global_constant",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "value": any,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.register_global_constant,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Set_deposits_limit */
-           "kind": "set_deposits_limit",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pk": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.update_consensus_key,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transfer_ticket */
-           "kind": "transfer_ticket",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transfer_ticket,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "slot_header":
-             { "slot_index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment,
-               "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_originate */
-           "kind": "smart_rollup_originate",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
-           "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "parameters_ty": any,
-           "whitelist"?: [ $Signature.Public_key_hash ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_add_messages */
-           "kind": "smart_rollup_add_messages",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_cement */
-           "kind": "smart_rollup_cement",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_publish */
-           "kind": "smart_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "commitment":
-             { "compressed_state": $smart_rollup_state_hash,
-               "inbox_level": integer ∈ [0, 2^31],
-               "predecessor": $smart_rollup_commitment_hash,
-               "number_of_ticks": $int64 },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_refute */
-           "kind": "smart_rollup_refute",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "opponent": $Signature.Public_key_hash,
-           "refutation":
-             { /* Start */
-               "refutation_kind": "start",
-               "player_commitment_hash": $smart_rollup_commitment_hash,
-               "opponent_commitment_hash": $smart_rollup_commitment_hash }
-             || { /* Move */
-                  "refutation_kind": "move",
-                  "choice": $positive_bignum,
-                  "step":
-                    [ { "state"?: $smart_rollup_state_hash,
-                        "tick": $positive_bignum } ... ]
-                    /* Dissection */
-                    || { /* Proof */
-                         "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                         "input_proof"?:
-                           { /* inbox proof */
-                             "input_proof_kind": "inbox_proof",
-                             "level": integer ∈ [0, 2^31],
-                             "message_counter": $positive_bignum,
-                             "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                           || { /* reveal proof */
-                                "input_proof_kind": "reveal_proof",
-                                "reveal_proof":
-                                  { /* raw data proof */
-                                    "reveal_proof_kind": "raw_data_proof",
-                                    "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* metadata proof */
-                                       "reveal_proof_kind": "metadata_proof" }
-                                  || { /* dal page proof */
-                                       "reveal_proof_kind": "dal_page_proof",
-                                       "dal_page_id":
-                                         { "published_level":
-                                             integer ∈ [0, 2^31],
-                                           "slot_index": integer ∈ [0, 255],
-                                           "page_index":
-                                             integer ∈ [-2^15, 2^15-1] },
-                                       "dal_proof":
-                                         /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* dal parameters proof */
-                                       "reveal_proof_kind":
-                                         "dal_parameters_proof" } }
-                           || { /* first input */
-                                "input_proof_kind": "first_input" } } },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_timeout */
-           "kind": "smart_rollup_timeout",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "stakers":
-             { "alice": $Signature.Public_key_hash,
-               "bob": $Signature.Public_key_hash },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_execute_outbox_message */
-           "kind": "smart_rollup_execute_outbox_message",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "cemented_commitment": $smart_rollup_commitment_hash,
-           "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_recover_bond */
-           "kind": "smart_rollup_recover_bond",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "staker": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_origination */
-           "kind": "zk_rollup_origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "circuits_info":
-             [ [ $unistring,
-                 { /* Public */
-                   "public": any }
-                 || { /* Private */
-                      "private": any }
-                 || { /* Fee */
-                      "fee": any } ] ... ],
-           "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "nb_ops": integer ∈ [-2^30, 2^30],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_publish */
-           "kind": "zk_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "zk_rollup": $Zk_rollup_hash,
-           "update":
-             { "pending_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                       "exit_validity": boolean } ] ... ],
-               "private_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
-               "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
-               "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-    $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment:
-      { /* Applied */
-        "status": "applied",
-        "slot_header":
-          { /* v0 */
-            "version": "0",
-            "level": integer ∈ [0, 2^31],
-            "index": integer ∈ [0, 255],
-            "commitment": $DAL_commitment },
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "slot_header":
-             { /* v0 */
-               "version": "0",
-               "level": integer ∈ [0, 2^31],
-               "index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment },
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.operation_result.register_global_constant:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "global_address": $script_expr }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "global_address": $script_expr }
-    $021-PsQuebec.operation.alpha.operation_result.reveal:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "inbox_level": integer ∈ [0, 2^31],
-        "commitment_hash": $smart_rollup_commitment_hash }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "inbox_level": integer ∈ [0, 2^31],
-           "commitment_hash": $smart_rollup_commitment_hash }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "whitelist_update"?:
-          { /* Public */
-            "kind": "public" }
-          || { /* Private */
-               "kind": "update",
-               "whitelist": [ $Signature.Public_key_hash ... ] },
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "whitelist_update"?:
-             { /* Public */
-               "kind": "public" }
-             || { /* Private */
-                  "kind": "update",
-                  "whitelist": [ $Signature.Public_key_hash ... ] },
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "address": $smart_rollup_address,
-        "genesis_commitment_hash": $smart_rollup_commitment_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "address": $smart_rollup_address,
-           "genesis_commitment_hash": $smart_rollup_commitment_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "staked_hash": $smart_rollup_commitment_hash,
-        "published_at_level": integer ∈ [0, 2^31],
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "staked_hash": $smart_rollup_commitment_hash,
-           "published_at_level": integer ∈ [0, 2^31],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_result.transfer_ticket:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.update_consensus_key:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_zk_rollup": $Zk_rollup_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_zk_rollup": $Zk_rollup_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation_metadata.alpha.balance_updates:
-      [ { /* Contract */
-          "kind": "contract",
-          "contract": $021-PsQuebec.contract_id,
-          "change": $int64,
-          "origin": "block" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "block" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash } ... ]
-    $021-PsQuebec.sapling_state_id:
-      /* Sapling state identifier
-         A sapling state identifier */
-      $bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $021-PsQuebec.staker:
-      /* unstaked_frozen_staker
-         Abstract notion of staker used in operation receipts for unstaked
-         frozen deposits, either a single staker or all the stakers delegating
-         to some delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-    $021-PsQuebec.transaction_destination:
-      /* A destination of a transaction
-         A destination notation compatible with the contract notation as given
-         to an RPC or inside scripts. Can be a base58 implicit contract hash, a
-         base58 originated contract hash, a base58 originated transaction
-         rollup, or a base58 originated smart rollup. */
-      $unistring
-    $Blinded public key hash:
-      /* A blinded public key hash (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Ed25519.Public_key_hash:
-      /* An Ed25519 public key hash (Base58Check-encoded) */
-      $unistring
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key:
-      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $Zk_rollup_hash:
-      /* A zk rollup address (Base58Check-encoded) */
-      $unistring
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +-----------------+----------+----------+
-    | Name            | Size     | Contents |
-    +=================+==========+==========+
-    | Unnamed field 0 | Variable | $X_3145  |
-    +-----------------+----------+----------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_1
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-
-
-    X_6
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_6     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_1                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_4                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_7                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_10
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_9
-    ***
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_10                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_13 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_8
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_9     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_13    |
-    +-----------------+----------------------+----------+
-
-
-    X_16 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_14
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_16    |
-    +-----------------+----------------------+----------+
-
-
-    X_17
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_18
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_19
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_20 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_19                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_20                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_22
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_23 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_22                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_21                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_23                  |
-    +--------+----------------------+------------------------+
-
-
-    X_25
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_27 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_28
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.contents (Determined from data, 8-bit tag)
-    ***********************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | Tag   | 1 byte   | unsigned 8-bit integer           |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_30                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_17                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_8                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-
-
-    021-PsQuebec.staker (Determined from data, 8-bit tag)
-    *****************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    021-PsQuebec.bond_id (21 bytes, 8-bit tag)
-    ******************************************
-
-    Smart_rollup_bond_id (tag 1)
-    ============================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | smart_rollup | 20 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    021-PsQuebec.frozen_staker (Determined from data, 8-bit tag)
-    ************************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    Baker (tag 2)
-    =============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | baker_own_stake | 21 bytes | $public_key_hash       |
-    +-----------------+----------+------------------------+
-
-
-    Baker_edge (tag 3)
-    ==================
-
-    +------------+----------+------------------------+
-    | Name       | Size     | Contents               |
-    +============+==========+========================+
-    | Tag        | 1 byte   | unsigned 8-bit integer |
-    +------------+----------+------------------------+
-    | baker_edge | 21 bytes | $public_key_hash       |
-    +------------+----------+------------------------+
-
-
-    X_41 (Determined from data, 8-bit tag)
-    **************************************
-
-    Contract (tag 0)
-    ================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Block_fees (tag 2)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Deposits (tag 4)
-    ================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.frozen_staker      |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Nonce_revelation_rewards (tag 5)
-    ================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Attesting_rewards (tag 7)
-    =========================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_rewards (tag 8)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_bonuses (tag 9)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Storage_fees (tag 11)
-    =====================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Double_signing_punishments (tag 12)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Lost_attesting_rewards (tag 13)
-    ===============================
-
-    +---------------+----------+-------------------------------------+
-    | Name          | Size     | Contents                            |
-    +===============+==========+=====================================+
-    | Tag           | 1 byte   | unsigned 8-bit integer              |
-    +---------------+----------+-------------------------------------+
-    | delegate      | 21 bytes | $public_key_hash                    |
-    +---------------+----------+-------------------------------------+
-    | participation | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | change        | 8 bytes  | signed 64-bit big-endian integer    |
-    +---------------+----------+-------------------------------------+
-
-
-    Liquidity_baking_subsidies (tag 14)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Burned (tag 15)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Commitments (tag 16)
-    ====================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | committer | 20 bytes | bytes                            |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Bootstrap (tag 17)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Invoice (tag 18)
-    ================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Initial_commitments (tag 19)
-    ============================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Minted (tag 20)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Frozen_bonds (tag 21)
-    =====================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | bond_id  | 21 bytes | $021-PsQuebec.bond_id            |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Smart_rollup_refutation_punishments (tag 24)
-    ============================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Smart_rollup_refutation_rewards (tag 25)
-    ========================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Unstaked_deposits (tag 26)
-    ==========================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.staker             |
-    +--------+----------------------+----------------------------------+
-    | cycle  | 4 bytes              | signed 32-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Staking_delegator_numerator (tag 27)
-    ====================================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | delegator | 22 bytes | $021-PsQuebec.contract_id        |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Staking_delegate_denominator (tag 28)
-    =====================================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | delegate | 21 bytes | $public_key_hash                 |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    X_42 (Determined from data, 8-bit tag)
-    **************************************
-
-    Block_application (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Protocol_migration (tag 1)
-    ==========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Subsidy (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Simulation (tag 3)
-    ==================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Delayed_operation (tag 4)
-    =========================
-
-    +------------------------+----------+------------------------+
-    | Name                   | Size     | Contents               |
-    +========================+==========+========================+
-    | Tag                    | 1 byte   | unsigned 8-bit integer |
-    +------------------------+----------+------------------------+
-    | delayed_operation_hash | 32 bytes | bytes                  |
-    +------------------------+----------+------------------------+
-
-
-    X_40
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_41    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_42    |
-    +-----------------+----------------------+----------+
-
-
-    X_43
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
-    ************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.transaction_destination (22 bytes, 8-bit tag)
-    **********************************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    Smart_rollup (tag 3)
-    ====================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | smart_rollup_address | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-    | padding              | 1 byte   | padding                |
-    +----------------------+----------+------------------------+
-
-
-    Zk_rollup (tag 4)
-    =================
-
-    +----------------+----------+------------------------+
-    | Name           | Size     | Contents               |
-    +================+==========+========================+
-    | Tag            | 1 byte   | unsigned 8-bit integer |
-    +----------------+----------+------------------------+
-    | Zk_rollup_hash | 20 bytes | bytes                  |
-    +----------------+----------+------------------------+
-    | padding        | 1 byte   | padding                |
-    +----------------+----------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
-    **********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_65
-    ****
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-
-    X_64
-    ****
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_65                  |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    X_70 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_64                  |
-    +---------+----------------------+------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | source  | Determined from data | $Z.t                   |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_64                  |
-    +---------+----------------------+------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------+----------------------+------------------------------------+
-    | Name      | Size                 | Contents                           |
-    +===========+======================+====================================+
-    | Tag       | 1 byte               | unsigned 8-bit integer             |
-    +-----------+----------------------+------------------------------------+
-    | updates   | Determined from data | $X_64                              |
-    +-----------+----------------------+------------------------------------+
-    | memo_size | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------+----------------------+------------------------------------+
-
-
-    X_71
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | Name                        | Size                 | Contents                                        |
-    +=============================+======================+=================================================+
-    | key_hash                    | 32 bytes             | bytes                                           |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | key                         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | value                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-
-
-    X_82 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | updates               | Variable | sequence of $X_71                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | Determined from data | $Z.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_71                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | updates               | Variable             | sequence of $X_71                               |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | key_type              | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | value_type            | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    X_83 (Determined from data, 8-bit tag)
-    **************************************
-
-    big_map (tag 0)
-    ===============
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_82                  |
-    +------+----------------------+------------------------+
-
-
-    sapling_state (tag 1)
-    =====================
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_70                  |
-    +------+----------------------+------------------------+
-
-
-    021-PsQuebec.lazy_storage_diff
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_83                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                                            |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    X_110
-    *****
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-
-
-    X_113
-    *****
-
-    +---------+----------------------+---------------------------------------+
-    | Name    | Size                 | Contents                              |
-    +=========+======================+=======================================+
-    | account | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +---------+----------------------+---------------------------------------+
-    | amount  | Determined from data | $Z.t                                  |
-    +---------+----------------------+---------------------------------------+
-
-
-    X_109
-    *****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | ticket_token          | Determined from data | $X_110                             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_113                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_143 (Determined from data, 8-bit tag)
-    ***************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_receipt                                                           | Variable             | sequence of $X_109                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_receipt        | Variable             | sequence of $X_109                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_143                 |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_143                              |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    transaction (tag 1)
-    ===================
-
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                             | Size                 | Contents                                                            |
-    +==================================+======================+=====================================================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer                                              |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                           | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                            | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | amount                           | Determined from data | $N.t                                                                |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | parameters                       | Determined from data | $X_29                                                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                           | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.transaction |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    origination (tag 2)
-    ===================
-
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                            |
-    +================================+======================+=====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                              |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | balance                        | Determined from data | $N.t                                                                |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    delegation (tag 3)
-    ==================
-
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                           |
-    +================================+======================+====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                             |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                              |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                 |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                   |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-
-
-    event (tag 4)
-    =============
-
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | Name                          | Size                 | Contents                                                      |
-    +===============================+======================+===============================================================+
-    | Tag                           | 1 byte               | unsigned 8-bit integer                                        |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | source                        | 22 bytes             | $021-PsQuebec.transaction_destination                         |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | nonce                         | 2 bytes              | unsigned 16-bit big-endian integer                            |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | type                          | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | tag                           | Determined from data | $021-PsQuebec.entrypoint                                      |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | payload                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | result                        | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-
-
-    X_39
-    ****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update         |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
-    *************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_185
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
-    *****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_328
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_474 (54 bytes, 8-bit tag)
-    ***************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | slot_header       | 54 bytes             | $X_474                 |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | slot_header                  | 54 bytes             | $X_474                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_469
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
-    *********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_605
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                 |
-    +==========================================================================+======================+==========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                        |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-
-
-    X_759 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +-----------+----------------------+------------------------+
-    | Name      | Size                 | Contents               |
-    +===========+======================+========================+
-    | Tag       | 1 byte               | unsigned 8-bit integer |
-    +-----------+----------------------+------------------------+
-    | whitelist | Determined from data | $X_28                  |
-    +-----------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
-    *******************************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_759                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_759                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_745
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                           |
-    +==========================================================================+======================+====================================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result            |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-
-
-    X_905 (1 byte, 8-bit tag)
-    *************************
-
-    Conflict_resolved (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Timeout (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_906 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Loser (tag 0)
-    =============
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | reason | 1 byte   | $X_905                 |
-    +--------+----------+------------------------+
-    | player | 21 bytes | $public_key_hash       |
-    +--------+----------+------------------------+
-
-
-    Draw (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_907 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Ongoing (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Ended (tag 1)
-    =============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | result | Determined from data | $X_906                 |
-    +--------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | game_status                                                              | Determined from data | $X_907                             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | game_status                                                              | Determined from data | $X_907                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_900
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1199
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+----------------------------------+
-    | Name              | Size                 | Contents                         |
-    +===================+======================+==================================+
-    | Tag               | 1 byte               | unsigned 8-bit integer           |
-    +-------------------+----------------------+----------------------------------+
-    | consumed_milligas | Determined from data | $N.t                             |
-    +-------------------+----------------------+----------------------------------+
-    | inbox_level       | 4 bytes              | signed 32-bit big-endian integer |
-    +-------------------+----------------------+----------------------------------+
-    | commitment_hash   | 32 bytes             | bytes                            |
-    +-------------------+----------------------+----------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-    | inbox_level                  | 4 bytes              | signed 32-bit big-endian integer    |
-    +------------------------------+----------------------+-------------------------------------+
-    | commitment_hash              | 32 bytes             | bytes                               |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_1339
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1474
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event           |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1610
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
-    ***********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1750
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transfer_ticket          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
-    ********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_2308
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.register_global_constant |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2448
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2588
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2808 (Determined from data, 8-bit tag)
-    ****************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_updates        | Variable             | sequence of $X_109                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
-    *******************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_2808                |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_2808                             |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_2769
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transaction              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_3107
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size     | Contents                                                                |
-    +==========================================================================+==========+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | delegate                                                                 | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_power                                                          | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_key                                                            | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-
-
-    X_3119
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | allocated_destination_contract                                           | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation_metadata.alpha.balance_updates
-    *****************************************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_40                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3127
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | ? presence of field "forbidden_delegate"                                 | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | forbidden_delegate                                                       | 21 bytes | $public_key_hash                    |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | level    | 4 bytes              | signed 32-bit big-endian integer                       |
-    +----------+----------------------+--------------------------------------------------------+
-    | nonce    | 32 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Double_attestation_evidence (tag 2)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op1                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_3127                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Double_baking_evidence (tag 3)
-    ==============================
-
-    +-----------------------+----------------------+----------------------------------------------+
-    | Name                  | Size                 | Contents                                     |
-    +=======================+======================+==============================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                       |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh1                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh2                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | metadata              | Determined from data | $X_3127                                      |
-    +-----------------------+----------------------+----------------------------------------------+
-
-
-    Activate_account (tag 4)
-    ========================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | pkh      | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | secret   | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Proposals (tag 5)
-    =================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | source                | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | period                | 4 bytes  | signed 32-bit 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             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------------------+--------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | metadata              | Determined from data | $X_3127                              |
-    +-----------------------+----------------------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | solution | 200 bytes            | $X_30                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | consensus_key | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | delegate      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | destination   | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_3119                |
-    +---------------+----------------------+------------------------+
-
-
-    Preattestation (tag 20)
-    =======================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation (tag 21)
-    ====================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation_with_dal (tag 23)
-    =============================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                               |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Reveal (tag 107)
-    ================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | public_key    | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1474                |
-    +---------------+----------------------+------------------------+
-
-
-    Transaction (tag 108)
-    =====================
-
-    +----------------------------------+----------------------+-------------------------------------+
-    | Name                             | Size                 | Contents                            |
-    +==================================+======================+=====================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer              |
-    +----------------------------------+----------------------+-------------------------------------+
-    | source                           | 21 bytes             | $public_key_hash                    |
-    +----------------------------------+----------------------+-------------------------------------+
-    | fee                              | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | counter                          | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | gas_limit                        | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | storage_limit                    | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | amount                           | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-    | metadata                         | Determined from data | $X_2769                             |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2588                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Delegation (tag 110)
-    ====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2448                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Register_global_constant (tag 111)
-    ==================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_2308                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Set_deposits_limit (tag 112)
-    ============================
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | Tag                         | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------+----------------------+-------------------------------------+
-    | source                      | 21 bytes             | $public_key_hash                    |
-    +-----------------------------+----------------------+-------------------------------------+
-    | fee                         | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | counter                     | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | gas_limit                   | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | storage_limit               | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | limit                       | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | metadata                    | Determined from data | $X_1474                             |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    Increase_paid_storage (tag 113)
-    ===============================
-
-    +---------------+----------------------+--------------------------------------+
-    | Name          | Size                 | Contents                             |
-    +===============+======================+======================================+
-    | Tag           | 1 byte               | unsigned 8-bit integer               |
-    +---------------+----------------------+--------------------------------------+
-    | source        | 21 bytes             | $public_key_hash                     |
-    +---------------+----------------------+--------------------------------------+
-    | fee           | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | counter       | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | gas_limit     | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | storage_limit | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | amount        | Determined from data | $Z.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | destination   | 22 bytes             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-    | metadata      | Determined from data | $X_605                               |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1474                |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | entrypoint            | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1750                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_originate (tag 200)
-    ================================
-
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | Name                            | Size                 | Contents                                                  |
-    +=================================+======================+===========================================================+
-    | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | source                          | 21 bytes             | $public_key_hash                                          |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | fee                             | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | counter                         | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | gas_limit                       | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | storage_limit                   | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # bytes in next field           | 4 bytes              | unsigned 30-bit 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | metadata                        | Determined from data | $X_1610                                                   |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1474                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1339                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1199                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_900                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_900                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | output_proof          | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_745                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_recover_bond (tag 207)
-    ===================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | staker        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_605                 |
-    +---------------+----------------------+------------------------+
-
-
-    Dal_publish_commitment (tag 230)
-    ================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | slot_header   | 145 bytes            | $X_17                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_469                 |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | metadata              | Determined from data | $X_328                                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    Zk_rollup_publish (tag 251)
-    ===========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | zk_rollup             | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op                    | Variable             | sequence of $X_8                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_185                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_39                  |
-    +---------------+----------------------+------------------------+
-
-
-    X_3145 (Variable, 8-bit tag)
-    ****************************
-
-    Operation_with_metadata (tag 0)
-    ===============================
-
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                |
-    +=======================+==========+=========================================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                                                  |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.operation_contents_and_result |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | signature             | Variable | bytes                                                                   |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-
-
-    Operation_without_metadata (tag 1)
-    ==================================
-
-    +-----------------------+----------+----------------------------------------------------+
-    | Name                  | Size     | Contents                                           |
-    +=======================+==========+====================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                             |
-    +-----------------------+----------+----------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                 |
-    +-----------------------+----------+----------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.contents |
-    +-----------------------+----------+----------------------------------------------------+
-    | signature             | Variable | bytes                                              |
-    +-----------------------+----------+----------------------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--run_script_view : - -**POST ..//helpers/scripts/run_script_view** - -.. raw:: html - -
- - - - -
-

- Simulate a call to a michelson view

-
-
-
-    { "contract": $021-PsQuebec.contract_id.originated,
-      "view": $unistring,
-      "input": $micheline.021-PsQuebec.michelson_v1.expression,
-      "unlimited_gas"?: boolean,
-      "chain_id": $Chain_id,
-      "source"?: $021-PsQuebec.contract_id,
-      "payer"?: $021-PsQuebec.contract_id.implicit,
-      "gas"?: $bignum,
-      "unparsing_mode": "Readable" || "Optimized" || "Optimized_legacy",
-      "now"?: $bignum,
-      "level"?: $positive_bignum,
-      "other_contracts"?:
-        [ { "address": $Contract_hash,
-            "type": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "extra_big_maps"?:
-        [ { "id": $021-PsQuebec.big_map_id,
-            "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "map_literal": $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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
-    $021-PsQuebec.contract_id.implicit:
-      /* A contract handle -- implicit account
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash. */
-      $unistring
-    $021-PsQuebec.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
-    $021-PsQuebec.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"
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Contract_hash:
-      /* A contract ID (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | Name                                  | Size                 | Contents                                        |
-    +=======================================+======================+=================================================+
-    | contract                              | 22 bytes             | $021-PsQuebec.contract_id.originated            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field                 | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | view                                  | Variable             | bytes                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | input                                 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | unlimited_gas                         | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | chain_id                              | 4 bytes              | bytes                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "source"          | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | source                                | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "payer"           | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | payer                                 | 22 bytes             | $021-PsQuebec.contract_id.implicit              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "gas"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | gas                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | unparsing_mode                        | 1 byte               | $X_1                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "now"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | now                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "level"           | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | level                                 | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "other_contracts" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | other_contracts                       | Determined from data | $X_2                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "extra_big_maps"  | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | extra_big_maps                        | Determined from data | $X_5                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    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                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.contract_id.implicit (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       |
-    +---------------------------+----------+------------------------+
-
-
-    X_1 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_3
-    ***
-
-    +---------+----------------------+-------------------------------------------------+
-    | Name    | Size                 | Contents                                        |
-    +=========+======================+=================================================+
-    | address | 20 bytes             | bytes                                           |
-    +---------+----------------------+-------------------------------------------------+
-    | type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------+----------------------+-------------------------------------------------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_6
-    ***
-
-    +-------------+----------------------+-------------------------------------------------+
-    | Name        | Size                 | Contents                                        |
-    +=============+======================+=================================================+
-    | id          | Determined from data | $Z.t                                            |
-    +-------------+----------------------+-------------------------------------------------+
-    | key_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | val_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | map_literal | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_6                   |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "data": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +------+----------------------+-------------------------------------------------+
-    | Name | Size                 | Contents                                        |
-    +======+======================+=================================================+
-    | data | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--run_view : - -**POST ..//helpers/scripts/run_view** - -.. raw:: html - -
- - - - -
-

- Simulate a call to a view following the TZIP-4 standard. See https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-4/tzip-4.md#view-entrypoints.

-
-
-
-    { "contract": $021-PsQuebec.contract_id.originated,
-      "entrypoint": $unistring,
-      "input": $micheline.021-PsQuebec.michelson_v1.expression,
-      "chain_id": $Chain_id,
-      "source"?: $021-PsQuebec.contract_id,
-      "payer"?: $021-PsQuebec.contract_id.implicit,
-      "gas"?: $bignum,
-      "unparsing_mode": "Readable" || "Optimized" || "Optimized_legacy",
-      "now"?: $bignum,
-      "level"?: $positive_bignum,
-      "other_contracts"?:
-        [ { "address": $Contract_hash,
-            "type": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "extra_big_maps"?:
-        [ { "id": $021-PsQuebec.big_map_id,
-            "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "map_literal": $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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
-    $021-PsQuebec.contract_id.implicit:
-      /* A contract handle -- implicit account
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash. */
-      $unistring
-    $021-PsQuebec.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
-    $021-PsQuebec.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"
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Contract_hash:
-      /* A contract ID (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | Name                                  | Size                 | Contents                                        |
-    +=======================================+======================+=================================================+
-    | contract                              | 22 bytes             | $021-PsQuebec.contract_id.originated            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field                 | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | entrypoint                            | Variable             | bytes                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | input                                 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | chain_id                              | 4 bytes              | bytes                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "source"          | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | source                                | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "payer"           | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | payer                                 | 22 bytes             | $021-PsQuebec.contract_id.implicit              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "gas"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | gas                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | unparsing_mode                        | 1 byte               | $X_1                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "now"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | now                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "level"           | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | level                                 | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "other_contracts" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | other_contracts                       | Determined from data | $X_2                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "extra_big_maps"  | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | extra_big_maps                        | Determined from data | $X_5                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    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                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.contract_id.implicit (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       |
-    +---------------------------+----------+------------------------+
-
-
-    X_1 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_3
-    ***
-
-    +---------+----------------------+-------------------------------------------------+
-    | Name    | Size                 | Contents                                        |
-    +=========+======================+=================================================+
-    | address | 20 bytes             | bytes                                           |
-    +---------+----------------------+-------------------------------------------------+
-    | type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------+----------------------+-------------------------------------------------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_6
-    ***
-
-    +-------------+----------------------+-------------------------------------------------+
-    | Name        | Size                 | Contents                                        |
-    +=============+======================+=================================================+
-    | id          | Determined from data | $Z.t                                            |
-    +-------------+----------------------+-------------------------------------------------+
-    | key_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | val_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | map_literal | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_6                   |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "data": $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +------+----------------------+-------------------------------------------------+
-    | Name | Size                 | Contents                                        |
-    +======+======================+=================================================+
-    | data | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--script_size : - -**POST ..//helpers/scripts/script_size** - -.. raw:: html - -
- - - - -
-

- Compute the size of a script in the current context

-
-
-
-    { "program": $micheline.021-PsQuebec.michelson_v1.expression,
-      "storage": $micheline.021-PsQuebec.michelson_v1.expression,
-      "gas"?: $bignum,
-      "legacy"?: boolean }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------+----------------------+-------------------------------------------------+
-    | Name                      | Size                 | Contents                                        |
-    +===========================+======================+=================================================+
-    | program                   | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | storage                   | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "gas" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | gas                       | Determined from data | $Z.t                                            |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | legacy                    | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "script_size": integer ∈ [-2^30, 2^30] }
-
-
-
-    +-------------+---------+-------------------------------------------------------------------------+
-    | Name        | Size    | Contents                                                                |
-    +=============+=========+=========================================================================+
-    | script_size | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-------------+---------+-------------------------------------------------------------------------+
-
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--simulate_operation : - -**POST ..//helpers/scripts/simulate_operation?[version=]&[successor_level]** - -.. raw:: html - -
- - - - -
-

- Simulate running an operation at some future moment (based on the number of blocks given in the `latency` argument), and return the operation application result. The result is the same as run_operation except for the consumed gas, which depends on the contents of the cache at that future moment. This RPC estimates future gas consumption by trying to predict the state of the cache using some heuristics.

Optional query arguments :

  • version = <version>
  • successor_level : If true, the simulation is done on the successor level of the current context.

-
-
-
-    { "blocks_before_activation"?: integer ∈ [-2^31-1, 2^31],
-      "operation":
-        { /* An operation's shell header. */
-          "branch": $block_hash,
-          "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-          "signature"?: $Signature.V1 },
-      "chain_id": $Chain_id,
-      "latency"?: integer ∈ [-2^15, 2^15-1] }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Ed25519.Public_key_hash:
-      /* An Ed25519 public key hash (Base58Check-encoded) */
-      $unistring
-    $Operation_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
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $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                            |
-    +================================================+==========+=====================================+
-    | ? presence of field "blocks_before_activation" | 1 byte   | boolean (0 for false, 255 for true) |
-    +------------------------------------------------+----------+-------------------------------------+
-    | blocks_before_activation                       | 4 bytes  | signed 32-bit big-endian integer    |
-    +------------------------------------------------+----------+-------------------------------------+
-    | operation                                      | Variable | $X_0                                |
-    +------------------------------------------------+----------+-------------------------------------+
-    | chain_id                                       | 4 bytes  | bytes                               |
-    +------------------------------------------------+----------+-------------------------------------+
-    | latency                                        | 2 bytes  | signed 16-bit big-endian integer    |
-    +------------------------------------------------+----------+-------------------------------------+
-
-
-    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_3
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_2
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_4     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_7     |
-    +-----------------+----------------------+----------+
-
-
-    X_8
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_5                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_8                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_11
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_10
-    ****
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_11                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_14 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_9
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_10    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_14    |
-    +-----------------+----------------------+----------+
-
-
-    X_17 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_15
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_17    |
-    +-----------------+----------------------+----------+
-
-
-    X_18
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_19
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_20
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_20                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_22 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_21                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_23
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_23                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_22                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_25 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_24                  |
-    +--------+----------------------+------------------------+
-
-
-    X_26
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_28 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_31
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_31                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_30                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_28) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_29                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_3                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_26                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_19                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_15                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_9                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_1                   |
-    +---------------+----------------------+------------------------+
-
-
-    Signature_prefix (tag 255)
-    ==========================
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | Tag              | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | signature_prefix | 33 bytes | $bls_signature_prefix  |
-    +------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | branch                        | 32 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-    
-
-
-
-    { /* Operation_with_metadata */
-      "contents":
-        [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-      "signature"?: $Signature.V1 }
-    || { /* Operation_without_metadata */
-         "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-         "signature"?: $Signature.V1 }
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.apply_internal_results.alpha.operation_result:
-      { /* transaction */
-        "kind": "transaction",
-        "source": $021-PsQuebec.transaction_destination,
-        "nonce": integer ∈ [0, 2^16-1],
-        "amount": $021-PsQuebec.mutez,
-        "destination": $021-PsQuebec.transaction_destination,
-        "parameters"?: { "entrypoint": $021-PsQuebec.entrypoint,
-                         "value": any },
-        "result":
-          $021-PsQuebec.operation.alpha.internal_operation_result.transaction }
-      || { /* origination */
-           "kind": "origination",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.origination }
-      || { /* delegation */
-           "kind": "delegation",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?: $Signature.Public_key_hash,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.delegation }
-      || { /* event */
-           "kind": "event",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "type": $micheline.021-PsQuebec.michelson_v1.expression,
-           "tag"?: $021-PsQuebec.entrypoint,
-           "payload"?: $micheline.021-PsQuebec.michelson_v1.expression,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.event }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.bond_id:
-      { /* Smart_rollup_bond_id */
-        "smart_rollup": $smart_rollup_address }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.error:
-      /* The full list of RPC errors would be too long to include.
-         It is available at RPC `/errors` (GET).
-         Errors specific to protocol Alpha have an id that starts with
-         `proto.alpha`. */
-      any
-    $021-PsQuebec.frozen_staker:
-      /* frozen_staker
-         Abstract notion of staker used in operation receipts for frozen
-         deposits, either a single staker or all the stakers delegating to some
-         delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-      || { /* Baker */
-           "baker_own_stake": $Signature.Public_key_hash }
-      || { /* Baker_edge */
-           "baker_edge": $Signature.Public_key_hash }
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.lazy_storage_diff:
-      [ { /* big_map */
-          "kind": "big_map",
-          "id": $021-PsQuebec.big_map_id,
-          "diff":
-            { /* update */
-              "action": "update",
-              "updates":
-                [ { "key_hash": $script_expr,
-                    "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                    "value"?: $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* remove */
-                 "action": "remove" }
-            || { /* copy */
-                 "action": "copy",
-                 "source": $021-PsQuebec.big_map_id,
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* alloc */
-                 "action": "alloc",
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-                 "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-                 "value_type": $micheline.021-PsQuebec.michelson_v1.expression } }
-        || { /* sapling_state */
-             "kind": "sapling_state",
-             "id": $021-PsQuebec.sapling_state_id,
-             "diff":
-               { /* update */
-                 "action": "update",
-                 "updates":
-                   { "commitments_and_ciphertexts":
-                       [ [ $sapling.transaction.commitment,
-                           $sapling.transaction.ciphertext ] ... ],
-                     "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* remove */
-                    "action": "remove" }
-               || { /* copy */
-                    "action": "copy",
-                    "source": $021-PsQuebec.sapling_state_id,
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* alloc */
-                    "action": "alloc",
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] },
-                    "memo_size": integer ∈ [0, 2^16-1] } } ... ]
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.operation.alpha.internal_operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.internal_operation_result.event:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.internal_operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.internal_operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_contents_and_result:
-      { /* Attestation */
-        "kind": "attestation",
-        "slot": integer ∈ [0, 2^16-1],
-        "level": integer ∈ [0, 2^31],
-        "round": integer ∈ [-2^31-1, 2^31],
-        "block_payload_hash": $value_hash,
-        "metadata":
-          { "balance_updates"?:
-              $021-PsQuebec.operation_metadata.alpha.balance_updates,
-            "delegate": $Signature.Public_key_hash,
-            "consensus_power": integer ∈ [-2^30, 2^30],
-            "consensus_key": $Signature.Public_key_hash } }
-      || { /* Attestation_with_dal */
-           "kind": "attestation_with_dal",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "dal_attestation": $bignum,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Preattestation */
-           "kind": "preattestation",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.inlined.attestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_preattestation_evidence */
-           "kind": "double_preattestation_evidence",
-           "op1": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Seed_nonce_revelation */
-           "kind": "seed_nonce_revelation",
-           "level": integer ∈ [0, 2^31],
-           "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Vdf_revelation */
-           "kind": "vdf_revelation",
-           "solution":
-             [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_baking_evidence */
-           "kind": "double_baking_evidence",
-           "bh1": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.block_header.alpha.full_header,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Activate_account */
-           "kind": "activate_account",
-           "pkh": $Ed25519.Public_key_hash,
-           "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Proposals */
-           "kind": "proposals",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposals": [ $Protocol_hash ... ],
-           "metadata": {  } }
-      || { /* Ballot */
-           "kind": "ballot",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposal": $Protocol_hash,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { /* Drain_delegate */
-           "kind": "drain_delegate",
-           "consensus_key": $Signature.Public_key_hash,
-           "delegate": $Signature.Public_key_hash,
-           "destination": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "allocated_destination_contract"?: boolean } }
-      || { /* Reveal */
-           "kind": "reveal",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_key": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transaction */
-           "kind": "transaction",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "delegate"?: $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Register_global_constant */
-           "kind": "register_global_constant",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "value": any,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.register_global_constant,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Set_deposits_limit */
-           "kind": "set_deposits_limit",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pk": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.update_consensus_key,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transfer_ticket */
-           "kind": "transfer_ticket",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transfer_ticket,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "slot_header":
-             { "slot_index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment,
-               "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_originate */
-           "kind": "smart_rollup_originate",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
-           "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "parameters_ty": any,
-           "whitelist"?: [ $Signature.Public_key_hash ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_add_messages */
-           "kind": "smart_rollup_add_messages",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_cement */
-           "kind": "smart_rollup_cement",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_publish */
-           "kind": "smart_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "commitment":
-             { "compressed_state": $smart_rollup_state_hash,
-               "inbox_level": integer ∈ [0, 2^31],
-               "predecessor": $smart_rollup_commitment_hash,
-               "number_of_ticks": $int64 },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_refute */
-           "kind": "smart_rollup_refute",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "opponent": $Signature.Public_key_hash,
-           "refutation":
-             { /* Start */
-               "refutation_kind": "start",
-               "player_commitment_hash": $smart_rollup_commitment_hash,
-               "opponent_commitment_hash": $smart_rollup_commitment_hash }
-             || { /* Move */
-                  "refutation_kind": "move",
-                  "choice": $positive_bignum,
-                  "step":
-                    [ { "state"?: $smart_rollup_state_hash,
-                        "tick": $positive_bignum } ... ]
-                    /* Dissection */
-                    || { /* Proof */
-                         "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                         "input_proof"?:
-                           { /* inbox proof */
-                             "input_proof_kind": "inbox_proof",
-                             "level": integer ∈ [0, 2^31],
-                             "message_counter": $positive_bignum,
-                             "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                           || { /* reveal proof */
-                                "input_proof_kind": "reveal_proof",
-                                "reveal_proof":
-                                  { /* raw data proof */
-                                    "reveal_proof_kind": "raw_data_proof",
-                                    "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* metadata proof */
-                                       "reveal_proof_kind": "metadata_proof" }
-                                  || { /* dal page proof */
-                                       "reveal_proof_kind": "dal_page_proof",
-                                       "dal_page_id":
-                                         { "published_level":
-                                             integer ∈ [0, 2^31],
-                                           "slot_index": integer ∈ [0, 255],
-                                           "page_index":
-                                             integer ∈ [-2^15, 2^15-1] },
-                                       "dal_proof":
-                                         /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* dal parameters proof */
-                                       "reveal_proof_kind":
-                                         "dal_parameters_proof" } }
-                           || { /* first input */
-                                "input_proof_kind": "first_input" } } },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_timeout */
-           "kind": "smart_rollup_timeout",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "stakers":
-             { "alice": $Signature.Public_key_hash,
-               "bob": $Signature.Public_key_hash },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_execute_outbox_message */
-           "kind": "smart_rollup_execute_outbox_message",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "cemented_commitment": $smart_rollup_commitment_hash,
-           "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_recover_bond */
-           "kind": "smart_rollup_recover_bond",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "staker": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_origination */
-           "kind": "zk_rollup_origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "circuits_info":
-             [ [ $unistring,
-                 { /* Public */
-                   "public": any }
-                 || { /* Private */
-                      "private": any }
-                 || { /* Fee */
-                      "fee": any } ] ... ],
-           "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "nb_ops": integer ∈ [-2^30, 2^30],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_publish */
-           "kind": "zk_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "zk_rollup": $Zk_rollup_hash,
-           "update":
-             { "pending_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                       "exit_validity": boolean } ] ... ],
-               "private_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
-               "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
-               "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-    $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment:
-      { /* Applied */
-        "status": "applied",
-        "slot_header":
-          { /* v0 */
-            "version": "0",
-            "level": integer ∈ [0, 2^31],
-            "index": integer ∈ [0, 255],
-            "commitment": $DAL_commitment },
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "slot_header":
-             { /* v0 */
-               "version": "0",
-               "level": integer ∈ [0, 2^31],
-               "index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment },
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.operation_result.register_global_constant:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "global_address": $script_expr }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "global_address": $script_expr }
-    $021-PsQuebec.operation.alpha.operation_result.reveal:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "inbox_level": integer ∈ [0, 2^31],
-        "commitment_hash": $smart_rollup_commitment_hash }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "inbox_level": integer ∈ [0, 2^31],
-           "commitment_hash": $smart_rollup_commitment_hash }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "whitelist_update"?:
-          { /* Public */
-            "kind": "public" }
-          || { /* Private */
-               "kind": "update",
-               "whitelist": [ $Signature.Public_key_hash ... ] },
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "whitelist_update"?:
-             { /* Public */
-               "kind": "public" }
-             || { /* Private */
-                  "kind": "update",
-                  "whitelist": [ $Signature.Public_key_hash ... ] },
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "address": $smart_rollup_address,
-        "genesis_commitment_hash": $smart_rollup_commitment_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "address": $smart_rollup_address,
-           "genesis_commitment_hash": $smart_rollup_commitment_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "staked_hash": $smart_rollup_commitment_hash,
-        "published_at_level": integer ∈ [0, 2^31],
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "staked_hash": $smart_rollup_commitment_hash,
-           "published_at_level": integer ∈ [0, 2^31],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_result.transfer_ticket:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.update_consensus_key:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_zk_rollup": $Zk_rollup_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_zk_rollup": $Zk_rollup_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation_metadata.alpha.balance_updates:
-      [ { /* Contract */
-          "kind": "contract",
-          "contract": $021-PsQuebec.contract_id,
-          "change": $int64,
-          "origin": "block" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "block" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash } ... ]
-    $021-PsQuebec.sapling_state_id:
-      /* Sapling state identifier
-         A sapling state identifier */
-      $bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $021-PsQuebec.staker:
-      /* unstaked_frozen_staker
-         Abstract notion of staker used in operation receipts for unstaked
-         frozen deposits, either a single staker or all the stakers delegating
-         to some delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-    $021-PsQuebec.transaction_destination:
-      /* A destination of a transaction
-         A destination notation compatible with the contract notation as given
-         to an RPC or inside scripts. Can be a base58 implicit contract hash, a
-         base58 originated contract hash, a base58 originated transaction
-         rollup, or a base58 originated smart rollup. */
-      $unistring
-    $Blinded public key hash:
-      /* A blinded public key hash (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Ed25519.Public_key_hash:
-      /* An Ed25519 public key hash (Base58Check-encoded) */
-      $unistring
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key:
-      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $Zk_rollup_hash:
-      /* A zk rollup address (Base58Check-encoded) */
-      $unistring
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +-----------------+----------+----------+
-    | Name            | Size     | Contents |
-    +=================+==========+==========+
-    | Unnamed field 0 | Variable | $X_3145  |
-    +-----------------+----------+----------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_1
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-
-
-    X_6
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_6     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_1                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_4                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_7                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_10
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_9
-    ***
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_10                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_13 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_8
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_9     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_13    |
-    +-----------------+----------------------+----------+
-
-
-    X_16 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_14
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_16    |
-    +-----------------+----------------------+----------+
-
-
-    X_17
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_18
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_19
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_20 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_19                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_20                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_22
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_23 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_22                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_21                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_23                  |
-    +--------+----------------------+------------------------+
-
-
-    X_25
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_27 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_28
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.contents (Determined from data, 8-bit tag)
-    ***********************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | Tag   | 1 byte   | unsigned 8-bit integer           |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_30                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_17                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_8                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-
-
-    021-PsQuebec.staker (Determined from data, 8-bit tag)
-    *****************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    021-PsQuebec.bond_id (21 bytes, 8-bit tag)
-    ******************************************
-
-    Smart_rollup_bond_id (tag 1)
-    ============================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | smart_rollup | 20 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    021-PsQuebec.frozen_staker (Determined from data, 8-bit tag)
-    ************************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    Baker (tag 2)
-    =============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | baker_own_stake | 21 bytes | $public_key_hash       |
-    +-----------------+----------+------------------------+
-
-
-    Baker_edge (tag 3)
-    ==================
-
-    +------------+----------+------------------------+
-    | Name       | Size     | Contents               |
-    +============+==========+========================+
-    | Tag        | 1 byte   | unsigned 8-bit integer |
-    +------------+----------+------------------------+
-    | baker_edge | 21 bytes | $public_key_hash       |
-    +------------+----------+------------------------+
-
-
-    X_41 (Determined from data, 8-bit tag)
-    **************************************
-
-    Contract (tag 0)
-    ================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Block_fees (tag 2)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Deposits (tag 4)
-    ================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.frozen_staker      |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Nonce_revelation_rewards (tag 5)
-    ================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Attesting_rewards (tag 7)
-    =========================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_rewards (tag 8)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_bonuses (tag 9)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Storage_fees (tag 11)
-    =====================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Double_signing_punishments (tag 12)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Lost_attesting_rewards (tag 13)
-    ===============================
-
-    +---------------+----------+-------------------------------------+
-    | Name          | Size     | Contents                            |
-    +===============+==========+=====================================+
-    | Tag           | 1 byte   | unsigned 8-bit integer              |
-    +---------------+----------+-------------------------------------+
-    | delegate      | 21 bytes | $public_key_hash                    |
-    +---------------+----------+-------------------------------------+
-    | participation | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | change        | 8 bytes  | signed 64-bit big-endian integer    |
-    +---------------+----------+-------------------------------------+
-
-
-    Liquidity_baking_subsidies (tag 14)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Burned (tag 15)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Commitments (tag 16)
-    ====================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | committer | 20 bytes | bytes                            |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Bootstrap (tag 17)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Invoice (tag 18)
-    ================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Initial_commitments (tag 19)
-    ============================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Minted (tag 20)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Frozen_bonds (tag 21)
-    =====================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | bond_id  | 21 bytes | $021-PsQuebec.bond_id            |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Smart_rollup_refutation_punishments (tag 24)
-    ============================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Smart_rollup_refutation_rewards (tag 25)
-    ========================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Unstaked_deposits (tag 26)
-    ==========================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.staker             |
-    +--------+----------------------+----------------------------------+
-    | cycle  | 4 bytes              | signed 32-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Staking_delegator_numerator (tag 27)
-    ====================================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | delegator | 22 bytes | $021-PsQuebec.contract_id        |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Staking_delegate_denominator (tag 28)
-    =====================================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | delegate | 21 bytes | $public_key_hash                 |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    X_42 (Determined from data, 8-bit tag)
-    **************************************
-
-    Block_application (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Protocol_migration (tag 1)
-    ==========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Subsidy (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Simulation (tag 3)
-    ==================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Delayed_operation (tag 4)
-    =========================
-
-    +------------------------+----------+------------------------+
-    | Name                   | Size     | Contents               |
-    +========================+==========+========================+
-    | Tag                    | 1 byte   | unsigned 8-bit integer |
-    +------------------------+----------+------------------------+
-    | delayed_operation_hash | 32 bytes | bytes                  |
-    +------------------------+----------+------------------------+
-
-
-    X_40
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_41    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_42    |
-    +-----------------+----------------------+----------+
-
-
-    X_43
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
-    ************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.transaction_destination (22 bytes, 8-bit tag)
-    **********************************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    Smart_rollup (tag 3)
-    ====================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | smart_rollup_address | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-    | padding              | 1 byte   | padding                |
-    +----------------------+----------+------------------------+
-
-
-    Zk_rollup (tag 4)
-    =================
-
-    +----------------+----------+------------------------+
-    | Name           | Size     | Contents               |
-    +================+==========+========================+
-    | Tag            | 1 byte   | unsigned 8-bit integer |
-    +----------------+----------+------------------------+
-    | Zk_rollup_hash | 20 bytes | bytes                  |
-    +----------------+----------+------------------------+
-    | padding        | 1 byte   | padding                |
-    +----------------+----------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
-    **********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_65
-    ****
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-
-    X_64
-    ****
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_65                  |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    X_70 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_64                  |
-    +---------+----------------------+------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | source  | Determined from data | $Z.t                   |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_64                  |
-    +---------+----------------------+------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------+----------------------+------------------------------------+
-    | Name      | Size                 | Contents                           |
-    +===========+======================+====================================+
-    | Tag       | 1 byte               | unsigned 8-bit integer             |
-    +-----------+----------------------+------------------------------------+
-    | updates   | Determined from data | $X_64                              |
-    +-----------+----------------------+------------------------------------+
-    | memo_size | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------+----------------------+------------------------------------+
-
-
-    X_71
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | Name                        | Size                 | Contents                                        |
-    +=============================+======================+=================================================+
-    | key_hash                    | 32 bytes             | bytes                                           |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | key                         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | value                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-
-
-    X_82 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | updates               | Variable | sequence of $X_71                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | Determined from data | $Z.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_71                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | updates               | Variable             | sequence of $X_71                               |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | key_type              | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | value_type            | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    X_83 (Determined from data, 8-bit tag)
-    **************************************
-
-    big_map (tag 0)
-    ===============
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_82                  |
-    +------+----------------------+------------------------+
-
-
-    sapling_state (tag 1)
-    =====================
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_70                  |
-    +------+----------------------+------------------------+
-
-
-    021-PsQuebec.lazy_storage_diff
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_83                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                                            |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    X_110
-    *****
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-
-
-    X_113
-    *****
-
-    +---------+----------------------+---------------------------------------+
-    | Name    | Size                 | Contents                              |
-    +=========+======================+=======================================+
-    | account | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +---------+----------------------+---------------------------------------+
-    | amount  | Determined from data | $Z.t                                  |
-    +---------+----------------------+---------------------------------------+
-
-
-    X_109
-    *****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | ticket_token          | Determined from data | $X_110                             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_113                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_143 (Determined from data, 8-bit tag)
-    ***************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_receipt                                                           | Variable             | sequence of $X_109                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_receipt        | Variable             | sequence of $X_109                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_143                 |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_143                              |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    transaction (tag 1)
-    ===================
-
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                             | Size                 | Contents                                                            |
-    +==================================+======================+=====================================================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer                                              |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                           | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                            | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | amount                           | Determined from data | $N.t                                                                |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | parameters                       | Determined from data | $X_29                                                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                           | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.transaction |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    origination (tag 2)
-    ===================
-
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                            |
-    +================================+======================+=====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                              |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | balance                        | Determined from data | $N.t                                                                |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    delegation (tag 3)
-    ==================
-
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                           |
-    +================================+======================+====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                             |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                              |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                 |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                   |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-
-
-    event (tag 4)
-    =============
-
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | Name                          | Size                 | Contents                                                      |
-    +===============================+======================+===============================================================+
-    | Tag                           | 1 byte               | unsigned 8-bit integer                                        |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | source                        | 22 bytes             | $021-PsQuebec.transaction_destination                         |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | nonce                         | 2 bytes              | unsigned 16-bit big-endian integer                            |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | type                          | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | tag                           | Determined from data | $021-PsQuebec.entrypoint                                      |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | payload                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | result                        | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-
-
-    X_39
-    ****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update         |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
-    *************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_185
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
-    *****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_328
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_474 (54 bytes, 8-bit tag)
-    ***************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | slot_header       | 54 bytes             | $X_474                 |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | slot_header                  | 54 bytes             | $X_474                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_469
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
-    *********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_605
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                 |
-    +==========================================================================+======================+==========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                        |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-
-
-    X_759 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +-----------+----------------------+------------------------+
-    | Name      | Size                 | Contents               |
-    +===========+======================+========================+
-    | Tag       | 1 byte               | unsigned 8-bit integer |
-    +-----------+----------------------+------------------------+
-    | whitelist | Determined from data | $X_28                  |
-    +-----------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
-    *******************************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_759                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_759                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_745
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                           |
-    +==========================================================================+======================+====================================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result            |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-
-
-    X_905 (1 byte, 8-bit tag)
-    *************************
-
-    Conflict_resolved (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Timeout (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_906 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Loser (tag 0)
-    =============
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | reason | 1 byte   | $X_905                 |
-    +--------+----------+------------------------+
-    | player | 21 bytes | $public_key_hash       |
-    +--------+----------+------------------------+
-
-
-    Draw (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_907 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Ongoing (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Ended (tag 1)
-    =============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | result | Determined from data | $X_906                 |
-    +--------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | game_status                                                              | Determined from data | $X_907                             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | game_status                                                              | Determined from data | $X_907                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_900
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1199
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+----------------------------------+
-    | Name              | Size                 | Contents                         |
-    +===================+======================+==================================+
-    | Tag               | 1 byte               | unsigned 8-bit integer           |
-    +-------------------+----------------------+----------------------------------+
-    | consumed_milligas | Determined from data | $N.t                             |
-    +-------------------+----------------------+----------------------------------+
-    | inbox_level       | 4 bytes              | signed 32-bit big-endian integer |
-    +-------------------+----------------------+----------------------------------+
-    | commitment_hash   | 32 bytes             | bytes                            |
-    +-------------------+----------------------+----------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-    | inbox_level                  | 4 bytes              | signed 32-bit big-endian integer    |
-    +------------------------------+----------------------+-------------------------------------+
-    | commitment_hash              | 32 bytes             | bytes                               |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_1339
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1474
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event           |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1610
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
-    ***********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1750
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transfer_ticket          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
-    ********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_2308
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.register_global_constant |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2448
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2588
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2808 (Determined from data, 8-bit tag)
-    ****************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_updates        | Variable             | sequence of $X_109                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
-    *******************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_2808                |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_2808                             |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_2769
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transaction              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_3107
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size     | Contents                                                                |
-    +==========================================================================+==========+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | delegate                                                                 | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_power                                                          | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_key                                                            | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-
-
-    X_3119
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | allocated_destination_contract                                           | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation_metadata.alpha.balance_updates
-    *****************************************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_40                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3127
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | ? presence of field "forbidden_delegate"                                 | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | forbidden_delegate                                                       | 21 bytes | $public_key_hash                    |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | level    | 4 bytes              | signed 32-bit big-endian integer                       |
-    +----------+----------------------+--------------------------------------------------------+
-    | nonce    | 32 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Double_attestation_evidence (tag 2)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op1                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_3127                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Double_baking_evidence (tag 3)
-    ==============================
-
-    +-----------------------+----------------------+----------------------------------------------+
-    | Name                  | Size                 | Contents                                     |
-    +=======================+======================+==============================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                       |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh1                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh2                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | metadata              | Determined from data | $X_3127                                      |
-    +-----------------------+----------------------+----------------------------------------------+
-
-
-    Activate_account (tag 4)
-    ========================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | pkh      | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | secret   | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Proposals (tag 5)
-    =================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | source                | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | period                | 4 bytes  | signed 32-bit 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             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------------------+--------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | metadata              | Determined from data | $X_3127                              |
-    +-----------------------+----------------------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | solution | 200 bytes            | $X_30                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | consensus_key | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | delegate      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | destination   | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_3119                |
-    +---------------+----------------------+------------------------+
-
-
-    Preattestation (tag 20)
-    =======================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation (tag 21)
-    ====================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation_with_dal (tag 23)
-    =============================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                               |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Reveal (tag 107)
-    ================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | public_key    | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1474                |
-    +---------------+----------------------+------------------------+
-
-
-    Transaction (tag 108)
-    =====================
-
-    +----------------------------------+----------------------+-------------------------------------+
-    | Name                             | Size                 | Contents                            |
-    +==================================+======================+=====================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer              |
-    +----------------------------------+----------------------+-------------------------------------+
-    | source                           | 21 bytes             | $public_key_hash                    |
-    +----------------------------------+----------------------+-------------------------------------+
-    | fee                              | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | counter                          | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | gas_limit                        | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | storage_limit                    | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | amount                           | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-    | metadata                         | Determined from data | $X_2769                             |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2588                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Delegation (tag 110)
-    ====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2448                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Register_global_constant (tag 111)
-    ==================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_2308                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Set_deposits_limit (tag 112)
-    ============================
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | Tag                         | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------+----------------------+-------------------------------------+
-    | source                      | 21 bytes             | $public_key_hash                    |
-    +-----------------------------+----------------------+-------------------------------------+
-    | fee                         | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | counter                     | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | gas_limit                   | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | storage_limit               | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | limit                       | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | metadata                    | Determined from data | $X_1474                             |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    Increase_paid_storage (tag 113)
-    ===============================
-
-    +---------------+----------------------+--------------------------------------+
-    | Name          | Size                 | Contents                             |
-    +===============+======================+======================================+
-    | Tag           | 1 byte               | unsigned 8-bit integer               |
-    +---------------+----------------------+--------------------------------------+
-    | source        | 21 bytes             | $public_key_hash                     |
-    +---------------+----------------------+--------------------------------------+
-    | fee           | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | counter       | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | gas_limit     | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | storage_limit | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | amount        | Determined from data | $Z.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | destination   | 22 bytes             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-    | metadata      | Determined from data | $X_605                               |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1474                |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | entrypoint            | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1750                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_originate (tag 200)
-    ================================
-
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | Name                            | Size                 | Contents                                                  |
-    +=================================+======================+===========================================================+
-    | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | source                          | 21 bytes             | $public_key_hash                                          |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | fee                             | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | counter                         | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | gas_limit                       | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | storage_limit                   | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # bytes in next field           | 4 bytes              | unsigned 30-bit 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | metadata                        | Determined from data | $X_1610                                                   |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1474                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1339                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1199                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_900                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_900                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | output_proof          | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_745                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_recover_bond (tag 207)
-    ===================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | staker        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_605                 |
-    +---------------+----------------------+------------------------+
-
-
-    Dal_publish_commitment (tag 230)
-    ================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | slot_header   | 145 bytes            | $X_17                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_469                 |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | metadata              | Determined from data | $X_328                                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    Zk_rollup_publish (tag 251)
-    ===========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | zk_rollup             | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op                    | Variable             | sequence of $X_8                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_185                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_39                  |
-    +---------------+----------------------+------------------------+
-
-
-    X_3145 (Variable, 8-bit tag)
-    ****************************
-
-    Operation_with_metadata (tag 0)
-    ===============================
-
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                |
-    +=======================+==========+=========================================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                                                  |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.operation_contents_and_result |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | signature             | Variable | bytes                                                                   |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-
-
-    Operation_without_metadata (tag 1)
-    ==================================
-
-    +-----------------------+----------+----------------------------------------------------+
-    | Name                  | Size     | Contents                                           |
-    +=======================+==========+====================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                             |
-    +-----------------------+----------+----------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                 |
-    +-----------------------+----------+----------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.contents |
-    +-----------------------+----------+----------------------------------------------------+
-    | signature             | Variable | bytes                                              |
-    +-----------------------+----------+----------------------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--trace_code : - -**POST ..//helpers/scripts/trace_code** - -.. raw:: html - -
- - - - -
-

- Run a Michelson script in the current context, keeping a trace

-
-
-
-    { "script": $micheline.021-PsQuebec.michelson_v1.expression,
-      "storage": $micheline.021-PsQuebec.michelson_v1.expression,
-      "input": $micheline.021-PsQuebec.michelson_v1.expression,
-      "amount": $021-PsQuebec.mutez,
-      "balance"?: $021-PsQuebec.mutez,
-      "chain_id": $Chain_id,
-      "source"?: $021-PsQuebec.contract_id,
-      "payer"?: $021-PsQuebec.contract_id.implicit,
-      "self"?: $021-PsQuebec.contract_id.originated,
-      "entrypoint"?: $unistring,
-      "unparsing_mode"?: "Readable" || "Optimized" || "Optimized_legacy",
-      "gas"?: $bignum,
-      "now"?: $bignum,
-      "level"?: $positive_bignum,
-      "other_contracts"?:
-        [ { "address": $Contract_hash,
-            "type": $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-      "extra_big_maps"?:
-        [ { "id": $021-PsQuebec.big_map_id,
-            "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "val_type": $micheline.021-PsQuebec.michelson_v1.expression,
-            "map_literal": $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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
-    $021-PsQuebec.contract_id.implicit:
-      /* A contract handle -- implicit account
-         A contract notation as given to an RPC or inside scripts. Can be a
-         base58 implicit contract hash. */
-      $unistring
-    $021-PsQuebec.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
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Contract_hash:
-      /* A contract ID (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | Name                                  | Size                 | Contents                                        |
-    +=======================================+======================+=================================================+
-    | script                                | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | storage                               | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | input                                 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | amount                                | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "balance"         | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | balance                               | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | chain_id                              | 4 bytes              | bytes                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "source"          | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | source                                | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "payer"           | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | payer                                 | 22 bytes             | $021-PsQuebec.contract_id.implicit              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "self"            | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | self                                  | 22 bytes             | $021-PsQuebec.contract_id.originated            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field                 | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | entrypoint                            | Variable             | bytes                                           |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "unparsing_mode"  | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | unparsing_mode                        | 1 byte               | $X_3                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "gas"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | gas                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "now"             | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | now                                   | Determined from data | $Z.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "level"           | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | level                                 | Determined from data | $N.t                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "other_contracts" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | other_contracts                       | Determined from data | $X_4                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "extra_big_maps"  | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-    | extra_big_maps                        | Determined from data | $X_7                                            |
-    +---------------------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.contract_id.implicit (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       |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    X_3 (1 byte, 8-bit tag)
-    ***********************
-
-    Readable (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized (tag 1)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Optimized_legacy (tag 2)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_5
-    ***
-
-    +---------+----------------------+-------------------------------------------------+
-    | Name    | Size                 | Contents                                        |
-    +=========+======================+=================================================+
-    | address | 20 bytes             | bytes                                           |
-    +---------+----------------------+-------------------------------------------------+
-    | type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------+----------------------+-------------------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_5                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_8
-    ***
-
-    +-------------+----------------------+-------------------------------------------------+
-    | Name        | Size                 | Contents                                        |
-    +=============+======================+=================================================+
-    | id          | Determined from data | $Z.t                                            |
-    +-------------+----------------------+-------------------------------------------------+
-    | key_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | val_type    | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-    | map_literal | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------+----------------------+-------------------------------------------------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_8                   |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "storage": $micheline.021-PsQuebec.michelson_v1.expression,
-      "operations":
-        [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ],
-      "trace": $021-PsQuebec.scripted.trace,
-      "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.apply_internal_results.alpha.operation_result:
-      { /* Transaction */
-        "source": $021-PsQuebec.transaction_destination,
-        "nonce": integer ∈ [0, 2^16-1],
-        "kind": "transaction",
-        "amount": $021-PsQuebec.mutez,
-        "destination": $021-PsQuebec.transaction_destination,
-        "parameters"?: { "entrypoint": $021-PsQuebec.entrypoint,
-                         "value": any } }
-      || { /* Origination */
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "origination",
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "delegation",
-           "delegate"?: $Signature.Public_key_hash }
-      || { /* Event */
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "event",
-           "type": $micheline.021-PsQuebec.michelson_v1.expression,
-           "tag"?: $021-PsQuebec.entrypoint,
-           "payload"?: $micheline.021-PsQuebec.michelson_v1.expression }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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 */
-    $021-PsQuebec.lazy_storage_diff:
-      [ { /* big_map */
-          "kind": "big_map",
-          "id": $021-PsQuebec.big_map_id,
-          "diff":
-            { /* update */
-              "action": "update",
-              "updates":
-                [ { "key_hash": $script_expr,
-                    "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                    "value"?: $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* remove */
-                 "action": "remove" }
-            || { /* copy */
-                 "action": "copy",
-                 "source": $021-PsQuebec.big_map_id,
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* alloc */
-                 "action": "alloc",
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-                 "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-                 "value_type": $micheline.021-PsQuebec.michelson_v1.expression } }
-        || { /* sapling_state */
-             "kind": "sapling_state",
-             "id": $021-PsQuebec.sapling_state_id,
-             "diff":
-               { /* update */
-                 "action": "update",
-                 "updates":
-                   { "commitments_and_ciphertexts":
-                       [ [ $sapling.transaction.commitment,
-                           $sapling.transaction.ciphertext ] ... ],
-                     "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* remove */
-                    "action": "remove" }
-               || { /* copy */
-                    "action": "copy",
-                    "source": $021-PsQuebec.sapling_state_id,
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* alloc */
-                    "action": "alloc",
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] },
-                    "memo_size": integer ∈ [0, 2^16-1] } } ... ]
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.sapling_state_id:
-      /* Sapling state identifier
-         A sapling state identifier */
-      $bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $021-PsQuebec.scripted.trace:
-      [ { "location": $micheline.location,
-          "gas": $bignum,
-          "stack": [ $micheline.021-PsQuebec.michelson_v1.expression ... ] } ... ]
-    $021-PsQuebec.transaction_destination:
-      /* A destination of a transaction
-         A destination notation compatible with the contract notation as given
-         to an RPC or inside scripts. Can be a base58 implicit contract hash, a
-         base58 originated contract hash, a base58 originated transaction
-         rollup, or a base58 originated smart rollup. */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $micheline.location:
-      /* Canonical location in a Micheline expression
-         The location of a node in a Micheline expression tree in prefix order,
-         with zero being the root and adding one for every basic node, sequence
-         and primitive application. */
-      integer ∈ [-2^30, 2^30]
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $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                                                                |
-    +================================================+======================+=========================================================================+
-    | storage                                        | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                         |
-    +------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                          | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operations                                     | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in field "021-PsQuebec.scripted.trace" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | trace                                          | Variable             | sequence of $X_5                                                        |
-    +------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"        | 1 byte               | boolean (0 for false, 255 for true)                                     |
-    +------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | lazy_storage_diff                              | Determined from data | $021-PsQuebec.lazy_storage_diff                                         |
-    +------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    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                  |
-    +---------------------------+----------+------------------------+
-
-
-    021-PsQuebec.transaction_destination (22 bytes, 8-bit tag)
-    **********************************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    Smart_rollup (tag 3)
-    ====================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | smart_rollup_address | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-    | padding              | 1 byte   | padding                |
-    +----------------------+----------+------------------------+
-
-
-    Zk_rollup (tag 4)
-    =================
-
-    +----------------+----------+------------------------+
-    | Name           | Size     | Contents               |
-    +================+==========+========================+
-    | Tag            | 1 byte   | unsigned 8-bit integer |
-    +----------------+----------+------------------------+
-    | Zk_rollup_hash | 20 bytes | bytes                  |
-    +----------------+----------+------------------------+
-    | padding        | 1 byte   | padding                |
-    +----------------+----------+------------------------+
-
-
-    021-PsQuebec.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                  |
-    +-----------------------+----------+------------------------+
-
-
-    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    |
-    +------+----------------------+----------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_4 (Determined from data, 8-bit tag)
-    *************************************
-
-    Transaction (tag 1)
-    ===================
-
-    +----------------------------------+----------------------+---------------------------------------+
-    | Name                             | Size                 | Contents                              |
-    +==================================+======================+=======================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer                |
-    +----------------------------------+----------------------+---------------------------------------+
-    | amount                           | Determined from data | $N.t                                  |
-    +----------------------------------+----------------------+---------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +----------------------------------+----------------------+---------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)   |
-    +----------------------------------+----------------------+---------------------------------------+
-    | parameters                       | Determined from data | $X_3                                  |
-    +----------------------------------+----------------------+---------------------------------------+
-
-
-    Origination (tag 2)
-    ===================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Delegation (tag 3)
-    ==================
-
-    +--------------------------------+----------+-------------------------------------+
-    | Name                           | Size     | Contents                            |
-    +================================+==========+=====================================+
-    | Tag                            | 1 byte   | unsigned 8-bit integer              |
-    +--------------------------------+----------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------+-------------------------------------+
-    | delegate                       | 21 bytes | $public_key_hash                    |
-    +--------------------------------+----------+-------------------------------------+
-
-
-    Event (tag 4)
-    =============
-
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | Name                          | Size                 | Contents                                        |
-    +===============================+======================+=================================================+
-    | Tag                           | 1 byte               | unsigned 8-bit integer                          |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | type                          | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | tag                           | Determined from data | $021-PsQuebec.entrypoint                        |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-------------------------------+----------------------+-------------------------------------------------+
-    | payload                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-------------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.apply_internal_results.alpha.operation_result
-    **********************************************************
-
-    +-----------------+----------------------+---------------------------------------+
-    | Name            | Size                 | Contents                              |
-    +=================+======================+=======================================+
-    | source          | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +-----------------+----------------------+---------------------------------------+
-    | nonce           | 2 bytes              | unsigned 16-bit big-endian integer    |
-    +-----------------+----------------------+---------------------------------------+
-    | Unnamed field 0 | Determined from data | $X_4                                  |
-    +-----------------+----------------------+---------------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | location              | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas                   | Determined from data | $Z.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | stack                 | Variable             | sequence of $micheline.021-PsQuebec.michelson_v1.expression             |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_8
-    ***
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-
-    X_7
-    ***
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_8                   |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    X_13 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_7                   |
-    +---------+----------------------+------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | source  | Determined from data | $Z.t                   |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_7                   |
-    +---------+----------------------+------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------+----------------------+------------------------------------+
-    | Name      | Size                 | Contents                           |
-    +===========+======================+====================================+
-    | Tag       | 1 byte               | unsigned 8-bit integer             |
-    +-----------+----------------------+------------------------------------+
-    | updates   | Determined from data | $X_7                               |
-    +-----------+----------------------+------------------------------------+
-    | memo_size | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------+----------------------+------------------------------------+
-
-
-    X_14
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | Name                        | Size                 | Contents                                        |
-    +=============================+======================+=================================================+
-    | key_hash                    | 32 bytes             | bytes                                           |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | key                         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | value                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-
-
-    X_25 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | updates               | Variable | sequence of $X_14                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | Determined from data | $Z.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_14                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | updates               | Variable             | sequence of $X_14                               |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | key_type              | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | value_type            | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    X_26 (Determined from data, 8-bit tag)
-    **************************************
-
-    big_map (tag 0)
-    ===============
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_25                  |
-    +------+----------------------+------------------------+
-
-
-    sapling_state (tag 1)
-    =====================
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_13                  |
-    +------+----------------------+------------------------+
-
-
-    021-PsQuebec.lazy_storage_diff
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_26                  |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--typecheck_code : - -**POST ..//helpers/scripts/typecheck_code** - -.. raw:: html - -
- - - - -
-

- Typecheck a piece of code in the current context

-
-
-
-    { "program": $micheline.021-PsQuebec.michelson_v1.expression,
-      "gas"?: $bignum,
-      "legacy"?: boolean,
-      "show_types"?: boolean }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------+----------------------+-------------------------------------------------+
-    | Name                      | Size                 | Contents                                        |
-    +===========================+======================+=================================================+
-    | program                   | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "gas" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | gas                       | Determined from data | $Z.t                                            |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | legacy                    | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | show_types                | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "type_map":
-        [ { "location": $micheline.location,
-            "stack_before":
-              [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-            "stack_after":
-              [ $micheline.021-PsQuebec.michelson_v1.expression ... ] } ... ],
-      "gas": $bignum /* Limited */ || "unaccounted" }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $micheline.location:
-      /* Canonical location in a Micheline expression
-         The location of a node in a Micheline expression tree in prefix order,
-         with zero being the root and adding one for every basic node, sequence
-         and primitive application. */
-      integer ∈ [-2^30, 2^30]
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | type_map              | Variable             | sequence of $X_0                   |
-    +-----------------------+----------------------+------------------------------------+
-    | gas                   | Determined from data | $X_3                               |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                |
-    +=======================+==========+=========================================================================+
-    | location              | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | stack_before          | Variable | sequence of $micheline.021-PsQuebec.michelson_v1.expression             |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | stack_after           | Variable | sequence of $micheline.021-PsQuebec.michelson_v1.expression             |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-
-
-    X_3 (Determined from data, 8-bit tag)
-    *************************************
-
-    Limited (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $Z.t                   |
-    +-----------------+----------------------+------------------------+
-
-
-    Unaccounted (tag 1)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
- - - -.. _POST_..--block_id--helpers--scripts--typecheck_data : - -**POST ..//helpers/scripts/typecheck_data** - -.. raw:: html - -
- - - - -
-

- Check that some data expression is well formed and of a given type in the current context

-
-
-
-    { "data": $micheline.021-PsQuebec.michelson_v1.expression,
-      "type": $micheline.021-PsQuebec.michelson_v1.expression,
-      "gas"?: $bignum,
-      "legacy"?: boolean }
-    $021-PsQuebec.michelson.v1.primitives:
-      "SHA256"
-      | "GT"
-      | "RIGHT"
-      | "SAPLING_EMPTY_STATE"
-      | "False"
-      | "RENAME"
-      | "CAST"
-      | "tx_rollup_l2_address"
-      | "PACK"
-      | "BYTES"
-      | "timestamp"
-      | "bls12_381_g2"
-      | "Pair"
-      | "IF_LEFT"
-      | "contract"
-      | "mutez"
-      | "storage"
-      | "PAIR"
-      | "view"
-      | "UNPACK"
-      | "ADD"
-      | "DROP"
-      | "big_map"
-      | "MUL"
-      | "NAT"
-      | "SELF"
-      | "CONTRACT"
-      | "CDR"
-      | "SAPLING_VERIFY_UPDATE"
-      | "pair"
-      | "LSL"
-      | "int"
-      | "operation"
-      | "SHA512"
-      | "CREATE_ACCOUNT"
-      | "BLAKE2B"
-      | "SPLIT_TICKET"
-      | "LEFT"
-      | "never"
-      | "unit"
-      | "address"
-      | "signature"
-      | "CHAIN_ID"
-      | "constant"
-      | "SLICE"
-      | "SENDER"
-      | "IMPLICIT_ACCOUNT"
-      | "key_hash"
-      | "AMOUNT"
-      | "CHECK_SIGNATURE"
-      | "sapling_state"
-      | "LT"
-      | "EXEC"
-      | "Elt"
-      | "EMIT"
-      | "NONE"
-      | "CREATE_CONTRACT"
-      | "LSR"
-      | "SET_DELEGATE"
-      | "OPEN_CHEST"
-      | "TRANSFER_TOKENS"
-      | "Some"
-      | "parameter"
-      | "set"
-      | "bls12_381_fr"
-      | "EDIV"
-      | "None"
-      | "STEPS_TO_QUOTA"
-      | "key"
-      | "ABS"
-      | "list"
-      | "NEVER"
-      | "map"
-      | "CAR"
-      | "IF"
-      | "GET_AND_UPDATE"
-      | "CONCAT"
-      | "LOOP"
-      | "DIG"
-      | "KECCAK"
-      | "Lambda_rec"
-      | "SOME"
-      | "option"
-      | "SUB"
-      | "INT"
-      | "PUSH"
-      | "CONS"
-      | "Unit"
-      | "ISNAT"
-      | "NEG"
-      | "XOR"
-      | "APPLY"
-      | "UNPAIR"
-      | "JOIN_TICKETS"
-      | "SIZE"
-      | "lambda"
-      | "AND"
-      | "NEQ"
-      | "or"
-      | "BALANCE"
-      | "UNIT"
-      | "VOTING_POWER"
-      | "OR"
-      | "LAMBDA"
-      | "chest"
-      | "LOOP_LEFT"
-      | "True"
-      | "Right"
-      | "Ticket"
-      | "HASH_KEY"
-      | "DUG"
-      | "sapling_transaction"
-      | "SUB_MUTEZ"
-      | "EMPTY_BIG_MAP"
-      | "MEM"
-      | "IF_NONE"
-      | "nat"
-      | "TOTAL_VOTING_POWER"
-      | "LE"
-      | "Left"
-      | "chest_key"
-      | "READ_TICKET"
-      | "ticket"
-      | "bls12_381_g1"
-      | "LEVEL"
-      | "VIEW"
-      | "string"
-      | "PAIRING_CHECK"
-      | "LAMBDA_REC"
-      | "NOW"
-      | "SHA3"
-      | "bool"
-      | "MIN_BLOCK_TIME"
-      | "GET"
-      | "bytes"
-      | "sapling_transaction_deprecated"
-      | "NIL"
-      | "IF_CONS"
-      | "GE"
-      | "NOT"
-      | "SWAP"
-      | "ITER"
-      | "ADDRESS"
-      | "TICKET"
-      | "DUP"
-      | "EMPTY_MAP"
-      | "UPDATE"
-      | "chain_id"
-      | "TICKET_DEPRECATED"
-      | "EMPTY_SET"
-      | "FAILWITH"
-      | "MAP"
-      | "SOURCE"
-      | "DIP"
-      | "COMPARE"
-      | "EQ"
-      | "SELF_ADDRESS"
-      | "code"
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------------------+----------------------+-------------------------------------------------+
-    | Name                      | Size                 | Contents                                        |
-    +===========================+======================+=================================================+
-    | data                      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | type                      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "gas" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | gas                       | Determined from data | $Z.t                                            |
-    +---------------------------+----------------------+-------------------------------------------------+
-    | legacy                    | 1 byte               | boolean (0 for false, 255 for true)             |
-    +---------------------------+----------------------+-------------------------------------------------+
-
-
-    021-PsQuebec.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
-    ***************************************************************************
-
-    +-------------+--------------------------------+
-    | Case number | Encoded string                 |
-    +=============+================================+
-    | 0           | parameter                      |
-    +-------------+--------------------------------+
-    | 1           | storage                        |
-    +-------------+--------------------------------+
-    | 2           | code                           |
-    +-------------+--------------------------------+
-    | 3           | False                          |
-    +-------------+--------------------------------+
-    | 4           | Elt                            |
-    +-------------+--------------------------------+
-    | 5           | Left                           |
-    +-------------+--------------------------------+
-    | 6           | None                           |
-    +-------------+--------------------------------+
-    | 7           | Pair                           |
-    +-------------+--------------------------------+
-    | 8           | Right                          |
-    +-------------+--------------------------------+
-    | 9           | Some                           |
-    +-------------+--------------------------------+
-    | 10          | True                           |
-    +-------------+--------------------------------+
-    | 11          | Unit                           |
-    +-------------+--------------------------------+
-    | 12          | PACK                           |
-    +-------------+--------------------------------+
-    | 13          | UNPACK                         |
-    +-------------+--------------------------------+
-    | 14          | BLAKE2B                        |
-    +-------------+--------------------------------+
-    | 15          | SHA256                         |
-    +-------------+--------------------------------+
-    | 16          | SHA512                         |
-    +-------------+--------------------------------+
-    | 17          | ABS                            |
-    +-------------+--------------------------------+
-    | 18          | ADD                            |
-    +-------------+--------------------------------+
-    | 19          | AMOUNT                         |
-    +-------------+--------------------------------+
-    | 20          | AND                            |
-    +-------------+--------------------------------+
-    | 21          | BALANCE                        |
-    +-------------+--------------------------------+
-    | 22          | CAR                            |
-    +-------------+--------------------------------+
-    | 23          | CDR                            |
-    +-------------+--------------------------------+
-    | 24          | CHECK_SIGNATURE                |
-    +-------------+--------------------------------+
-    | 25          | COMPARE                        |
-    +-------------+--------------------------------+
-    | 26          | CONCAT                         |
-    +-------------+--------------------------------+
-    | 27          | CONS                           |
-    +-------------+--------------------------------+
-    | 28          | CREATE_ACCOUNT                 |
-    +-------------+--------------------------------+
-    | 29          | CREATE_CONTRACT                |
-    +-------------+--------------------------------+
-    | 30          | IMPLICIT_ACCOUNT               |
-    +-------------+--------------------------------+
-    | 31          | DIP                            |
-    +-------------+--------------------------------+
-    | 32          | DROP                           |
-    +-------------+--------------------------------+
-    | 33          | DUP                            |
-    +-------------+--------------------------------+
-    | 34          | EDIV                           |
-    +-------------+--------------------------------+
-    | 35          | EMPTY_MAP                      |
-    +-------------+--------------------------------+
-    | 36          | EMPTY_SET                      |
-    +-------------+--------------------------------+
-    | 37          | EQ                             |
-    +-------------+--------------------------------+
-    | 38          | EXEC                           |
-    +-------------+--------------------------------+
-    | 39          | FAILWITH                       |
-    +-------------+--------------------------------+
-    | 40          | GE                             |
-    +-------------+--------------------------------+
-    | 41          | GET                            |
-    +-------------+--------------------------------+
-    | 42          | GT                             |
-    +-------------+--------------------------------+
-    | 43          | HASH_KEY                       |
-    +-------------+--------------------------------+
-    | 44          | IF                             |
-    +-------------+--------------------------------+
-    | 45          | IF_CONS                        |
-    +-------------+--------------------------------+
-    | 46          | IF_LEFT                        |
-    +-------------+--------------------------------+
-    | 47          | IF_NONE                        |
-    +-------------+--------------------------------+
-    | 48          | INT                            |
-    +-------------+--------------------------------+
-    | 49          | LAMBDA                         |
-    +-------------+--------------------------------+
-    | 50          | LE                             |
-    +-------------+--------------------------------+
-    | 51          | LEFT                           |
-    +-------------+--------------------------------+
-    | 52          | LOOP                           |
-    +-------------+--------------------------------+
-    | 53          | LSL                            |
-    +-------------+--------------------------------+
-    | 54          | LSR                            |
-    +-------------+--------------------------------+
-    | 55          | LT                             |
-    +-------------+--------------------------------+
-    | 56          | MAP                            |
-    +-------------+--------------------------------+
-    | 57          | MEM                            |
-    +-------------+--------------------------------+
-    | 58          | MUL                            |
-    +-------------+--------------------------------+
-    | 59          | NEG                            |
-    +-------------+--------------------------------+
-    | 60          | NEQ                            |
-    +-------------+--------------------------------+
-    | 61          | NIL                            |
-    +-------------+--------------------------------+
-    | 62          | NONE                           |
-    +-------------+--------------------------------+
-    | 63          | NOT                            |
-    +-------------+--------------------------------+
-    | 64          | NOW                            |
-    +-------------+--------------------------------+
-    | 65          | OR                             |
-    +-------------+--------------------------------+
-    | 66          | PAIR                           |
-    +-------------+--------------------------------+
-    | 67          | PUSH                           |
-    +-------------+--------------------------------+
-    | 68          | RIGHT                          |
-    +-------------+--------------------------------+
-    | 69          | SIZE                           |
-    +-------------+--------------------------------+
-    | 70          | SOME                           |
-    +-------------+--------------------------------+
-    | 71          | SOURCE                         |
-    +-------------+--------------------------------+
-    | 72          | SENDER                         |
-    +-------------+--------------------------------+
-    | 73          | SELF                           |
-    +-------------+--------------------------------+
-    | 74          | STEPS_TO_QUOTA                 |
-    +-------------+--------------------------------+
-    | 75          | SUB                            |
-    +-------------+--------------------------------+
-    | 76          | SWAP                           |
-    +-------------+--------------------------------+
-    | 77          | TRANSFER_TOKENS                |
-    +-------------+--------------------------------+
-    | 78          | SET_DELEGATE                   |
-    +-------------+--------------------------------+
-    | 79          | UNIT                           |
-    +-------------+--------------------------------+
-    | 80          | UPDATE                         |
-    +-------------+--------------------------------+
-    | 81          | XOR                            |
-    +-------------+--------------------------------+
-    | 82          | ITER                           |
-    +-------------+--------------------------------+
-    | 83          | LOOP_LEFT                      |
-    +-------------+--------------------------------+
-    | 84          | ADDRESS                        |
-    +-------------+--------------------------------+
-    | 85          | CONTRACT                       |
-    +-------------+--------------------------------+
-    | 86          | ISNAT                          |
-    +-------------+--------------------------------+
-    | 87          | CAST                           |
-    +-------------+--------------------------------+
-    | 88          | RENAME                         |
-    +-------------+--------------------------------+
-    | 89          | bool                           |
-    +-------------+--------------------------------+
-    | 90          | contract                       |
-    +-------------+--------------------------------+
-    | 91          | int                            |
-    +-------------+--------------------------------+
-    | 92          | key                            |
-    +-------------+--------------------------------+
-    | 93          | key_hash                       |
-    +-------------+--------------------------------+
-    | 94          | lambda                         |
-    +-------------+--------------------------------+
-    | 95          | list                           |
-    +-------------+--------------------------------+
-    | 96          | map                            |
-    +-------------+--------------------------------+
-    | 97          | big_map                        |
-    +-------------+--------------------------------+
-    | 98          | nat                            |
-    +-------------+--------------------------------+
-    | 99          | option                         |
-    +-------------+--------------------------------+
-    | 100         | or                             |
-    +-------------+--------------------------------+
-    | 101         | pair                           |
-    +-------------+--------------------------------+
-    | 102         | set                            |
-    +-------------+--------------------------------+
-    | 103         | signature                      |
-    +-------------+--------------------------------+
-    | 104         | string                         |
-    +-------------+--------------------------------+
-    | 105         | bytes                          |
-    +-------------+--------------------------------+
-    | 106         | mutez                          |
-    +-------------+--------------------------------+
-    | 107         | timestamp                      |
-    +-------------+--------------------------------+
-    | 108         | unit                           |
-    +-------------+--------------------------------+
-    | 109         | operation                      |
-    +-------------+--------------------------------+
-    | 110         | address                        |
-    +-------------+--------------------------------+
-    | 111         | SLICE                          |
-    +-------------+--------------------------------+
-    | 112         | DIG                            |
-    +-------------+--------------------------------+
-    | 113         | DUG                            |
-    +-------------+--------------------------------+
-    | 114         | EMPTY_BIG_MAP                  |
-    +-------------+--------------------------------+
-    | 115         | APPLY                          |
-    +-------------+--------------------------------+
-    | 116         | chain_id                       |
-    +-------------+--------------------------------+
-    | 117         | CHAIN_ID                       |
-    +-------------+--------------------------------+
-    | 118         | LEVEL                          |
-    +-------------+--------------------------------+
-    | 119         | SELF_ADDRESS                   |
-    +-------------+--------------------------------+
-    | 120         | never                          |
-    +-------------+--------------------------------+
-    | 121         | NEVER                          |
-    +-------------+--------------------------------+
-    | 122         | UNPAIR                         |
-    +-------------+--------------------------------+
-    | 123         | VOTING_POWER                   |
-    +-------------+--------------------------------+
-    | 124         | TOTAL_VOTING_POWER             |
-    +-------------+--------------------------------+
-    | 125         | KECCAK                         |
-    +-------------+--------------------------------+
-    | 126         | SHA3                           |
-    +-------------+--------------------------------+
-    | 127         | PAIRING_CHECK                  |
-    +-------------+--------------------------------+
-    | 128         | bls12_381_g1                   |
-    +-------------+--------------------------------+
-    | 129         | bls12_381_g2                   |
-    +-------------+--------------------------------+
-    | 130         | bls12_381_fr                   |
-    +-------------+--------------------------------+
-    | 131         | sapling_state                  |
-    +-------------+--------------------------------+
-    | 132         | sapling_transaction_deprecated |
-    +-------------+--------------------------------+
-    | 133         | SAPLING_EMPTY_STATE            |
-    +-------------+--------------------------------+
-    | 134         | SAPLING_VERIFY_UPDATE          |
-    +-------------+--------------------------------+
-    | 135         | ticket                         |
-    +-------------+--------------------------------+
-    | 136         | TICKET_DEPRECATED              |
-    +-------------+--------------------------------+
-    | 137         | READ_TICKET                    |
-    +-------------+--------------------------------+
-    | 138         | SPLIT_TICKET                   |
-    +-------------+--------------------------------+
-    | 139         | JOIN_TICKETS                   |
-    +-------------+--------------------------------+
-    | 140         | GET_AND_UPDATE                 |
-    +-------------+--------------------------------+
-    | 141         | chest                          |
-    +-------------+--------------------------------+
-    | 142         | chest_key                      |
-    +-------------+--------------------------------+
-    | 143         | OPEN_CHEST                     |
-    +-------------+--------------------------------+
-    | 144         | VIEW                           |
-    +-------------+--------------------------------+
-    | 145         | view                           |
-    +-------------+--------------------------------+
-    | 146         | constant                       |
-    +-------------+--------------------------------+
-    | 147         | SUB_MUTEZ                      |
-    +-------------+--------------------------------+
-    | 148         | tx_rollup_l2_address           |
-    +-------------+--------------------------------+
-    | 149         | MIN_BLOCK_TIME                 |
-    +-------------+--------------------------------+
-    | 150         | sapling_transaction            |
-    +-------------+--------------------------------+
-    | 151         | EMIT                           |
-    +-------------+--------------------------------+
-    | 152         | Lambda_rec                     |
-    +-------------+--------------------------------+
-    | 153         | LAMBDA_REC                     |
-    +-------------+--------------------------------+
-    | 154         | TICKET                         |
-    +-------------+--------------------------------+
-    | 155         | BYTES                          |
-    +-------------+--------------------------------+
-    | 156         | NAT                            |
-    +-------------+--------------------------------+
-    | 157         | Ticket                         |
-    +-------------+--------------------------------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    micheline.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-    
-
-
-
-    { "gas": $bignum /* Limited */ || "unaccounted" }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-
-
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | gas  | Determined from data | $X_0     |
-    +------+----------------------+----------+
-
-
-    Z.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | Z.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    Limited (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $Z.t                   |
-    +-----------------+----------------------+------------------------+
-
-
-    Unaccounted (tag 1)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--helpers--validators : - -**GET ..//helpers/validators?(level=)\*&(delegate=)\*&(consensus_key=)\*** - -.. raw:: html - -
- - -
-

- Retrieves the level, the attestation slots and the public key hash of each delegate allowed to attest a block. - By default, it provides this information for the next level. - Parameter `level` can be used to specify the (valid) level(s) in the past or future at which the attestation rights have to be returned. Parameter `delegate` can be used to restrict the results results to the given delegates. Parameter `consensus_key` can be used to restrict the results to the given consensus_keys. -

Optional query arguments :

  • level = <block_level>
  • delegate = <pkh>
  • consensus_key = <pkh>

-
-
-
-    [ { "level": integer ∈ [0, 2^31],
-        "delegate": $Signature.Public_key_hash,
-        "slots": [ integer ∈ [0, 2^16-1] ... ],
-        "consensus_key": $Signature.Public_key_hash } ... ]
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------+------------------------------------------------+
-    | Name                  | Size     | Contents                                       |
-    +=======================+==========+================================================+
-    | level                 | 4 bytes  | signed 32-bit big-endian integer               |
-    +-----------------------+----------+------------------------------------------------+
-    | delegate              | 21 bytes | $public_key_hash                               |
-    +-----------------------+----------+------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer             |
-    +-----------------------+----------+------------------------------------------------+
-    | slots                 | Variable | sequence of unsigned 16-bit big-endian integer |
-    +-----------------------+----------+------------------------------------------------+
-    | consensus_key         | 21 bytes | $public_key_hash                               |
-    +-----------------------+----------+------------------------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--live_blocks : - -**GET ..//live_blocks** - -.. raw:: html - -
- - -
-

- List the ancestors of the given block which, if referred to as the branch in an operation header, are recent enough for that operation to be included in the current block.

-
-
-
-    [ $block_hash ... ]
-    $block_hash:
-      /* A block identifier (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--metadata : - -**GET ..//metadata?[version=]** - -.. raw:: html - -
- - -
- - - - - -.. _GET_..--block_id--metadata_hash : - -**GET ..//metadata_hash** - -.. raw:: html - -
- - -
- - - - - -.. _GET_..--block_id--operation_hashes : - -**GET ..//operation_hashes** - -.. raw:: html - -
- - -
-

- The hashes of all the operations included in the block.

-
-
-
-    [ [ $Operation_hash ... ] ... ]
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - -.. _GET_..--block_id--operation_hashes--list_offset : - -**GET ..//operation_hashes/** - -.. raw:: html - -
- - -
-

- All the operations included in `n-th` validation pass of the block.

-
-
-
-    [ $Operation_hash ... ]
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    
-
- - -.. _GET_..--block_id--operation_hashes--list_offset--operation_offset : - -**GET ..//operation_hashes//** - -.. raw:: html - -
- - -
-

- The hash of then `m-th` operation in the `n-th` validation pass of the block.

-
-
-
-    $unistring
-    /* A Tezos operation ID (Base58Check-encoded) */
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +----------------+----------+----------+
-    | Name           | Size     | Contents |
-    +================+==========+==========+
-    | Operation_hash | 32 bytes | bytes    |
-    +----------------+----------+----------+
-
-
-    
-
- - - -.. _GET_..--block_id--operation_metadata_hashes : - -**GET ..//operation_metadata_hashes** - -.. raw:: html - -
- - -
- - - - -.. _GET_..--block_id--operation_metadata_hashes--list_offset : - -**GET ..//operation_metadata_hashes/** - -.. raw:: html - -
- - -
- - - - -.. _GET_..--block_id--operation_metadata_hashes--list_offset--operation_offset : - -**GET ..//operation_metadata_hashes//** - -.. raw:: html - -
- - -
- - - - - -.. _GET_..--block_id--operations : - -**GET ..//operations?[version=]&[force_metadata]&[metadata=]** - -.. raw:: html - -
- - -
-

- All the operations included in the block.

Optional query arguments :

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

-
-
-
-    [ [ $operation ... ] ... ] /* operations_encoding_v1 */
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.apply_internal_results.alpha.operation_result:
-      { /* transaction */
-        "kind": "transaction",
-        "source": $021-PsQuebec.transaction_destination,
-        "nonce": integer ∈ [0, 2^16-1],
-        "amount": $021-PsQuebec.mutez,
-        "destination": $021-PsQuebec.transaction_destination,
-        "parameters"?: { "entrypoint": $021-PsQuebec.entrypoint,
-                         "value": any },
-        "result":
-          $021-PsQuebec.operation.alpha.internal_operation_result.transaction }
-      || { /* origination */
-           "kind": "origination",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.origination }
-      || { /* delegation */
-           "kind": "delegation",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?: $Signature.Public_key_hash,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.delegation }
-      || { /* event */
-           "kind": "event",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "type": $micheline.021-PsQuebec.michelson_v1.expression,
-           "tag"?: $021-PsQuebec.entrypoint,
-           "payload"?: $micheline.021-PsQuebec.michelson_v1.expression,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.event }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.bond_id:
-      { /* Smart_rollup_bond_id */
-        "smart_rollup": $smart_rollup_address }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.error:
-      /* The full list of RPC errors would be too long to include.
-         It is available at RPC `/errors` (GET).
-         Errors specific to protocol Alpha have an id that starts with
-         `proto.alpha`. */
-      any
-    $021-PsQuebec.frozen_staker:
-      /* frozen_staker
-         Abstract notion of staker used in operation receipts for frozen
-         deposits, either a single staker or all the stakers delegating to some
-         delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-      || { /* Baker */
-           "baker_own_stake": $Signature.Public_key_hash }
-      || { /* Baker_edge */
-           "baker_edge": $Signature.Public_key_hash }
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.lazy_storage_diff:
-      [ { /* big_map */
-          "kind": "big_map",
-          "id": $021-PsQuebec.big_map_id,
-          "diff":
-            { /* update */
-              "action": "update",
-              "updates":
-                [ { "key_hash": $script_expr,
-                    "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                    "value"?: $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* remove */
-                 "action": "remove" }
-            || { /* copy */
-                 "action": "copy",
-                 "source": $021-PsQuebec.big_map_id,
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* alloc */
-                 "action": "alloc",
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-                 "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-                 "value_type": $micheline.021-PsQuebec.michelson_v1.expression } }
-        || { /* sapling_state */
-             "kind": "sapling_state",
-             "id": $021-PsQuebec.sapling_state_id,
-             "diff":
-               { /* update */
-                 "action": "update",
-                 "updates":
-                   { "commitments_and_ciphertexts":
-                       [ [ $sapling.transaction.commitment,
-                           $sapling.transaction.ciphertext ] ... ],
-                     "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* remove */
-                    "action": "remove" }
-               || { /* copy */
-                    "action": "copy",
-                    "source": $021-PsQuebec.sapling_state_id,
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* alloc */
-                    "action": "alloc",
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] },
-                    "memo_size": integer ∈ [0, 2^16-1] } } ... ]
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.operation.alpha.contents_and_signature:
-      { "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.operation.alpha.internal_operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.internal_operation_result.event:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.internal_operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.internal_operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_contents_and_result:
-      { /* Attestation */
-        "kind": "attestation",
-        "slot": integer ∈ [0, 2^16-1],
-        "level": integer ∈ [0, 2^31],
-        "round": integer ∈ [-2^31-1, 2^31],
-        "block_payload_hash": $value_hash,
-        "metadata":
-          { "balance_updates"?:
-              $021-PsQuebec.operation_metadata.alpha.balance_updates,
-            "delegate": $Signature.Public_key_hash,
-            "consensus_power": integer ∈ [-2^30, 2^30],
-            "consensus_key": $Signature.Public_key_hash } }
-      || { /* Attestation_with_dal */
-           "kind": "attestation_with_dal",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "dal_attestation": $bignum,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Preattestation */
-           "kind": "preattestation",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.inlined.attestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_preattestation_evidence */
-           "kind": "double_preattestation_evidence",
-           "op1": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Seed_nonce_revelation */
-           "kind": "seed_nonce_revelation",
-           "level": integer ∈ [0, 2^31],
-           "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Vdf_revelation */
-           "kind": "vdf_revelation",
-           "solution":
-             [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_baking_evidence */
-           "kind": "double_baking_evidence",
-           "bh1": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.block_header.alpha.full_header,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Activate_account */
-           "kind": "activate_account",
-           "pkh": $Ed25519.Public_key_hash,
-           "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Proposals */
-           "kind": "proposals",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposals": [ $Protocol_hash ... ],
-           "metadata": {  } }
-      || { /* Ballot */
-           "kind": "ballot",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposal": $Protocol_hash,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { /* Drain_delegate */
-           "kind": "drain_delegate",
-           "consensus_key": $Signature.Public_key_hash,
-           "delegate": $Signature.Public_key_hash,
-           "destination": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "allocated_destination_contract"?: boolean } }
-      || { /* Reveal */
-           "kind": "reveal",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_key": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transaction */
-           "kind": "transaction",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "delegate"?: $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Register_global_constant */
-           "kind": "register_global_constant",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "value": any,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.register_global_constant,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Set_deposits_limit */
-           "kind": "set_deposits_limit",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pk": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.update_consensus_key,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transfer_ticket */
-           "kind": "transfer_ticket",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transfer_ticket,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "slot_header":
-             { "slot_index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment,
-               "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_originate */
-           "kind": "smart_rollup_originate",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
-           "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "parameters_ty": any,
-           "whitelist"?: [ $Signature.Public_key_hash ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_add_messages */
-           "kind": "smart_rollup_add_messages",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_cement */
-           "kind": "smart_rollup_cement",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_publish */
-           "kind": "smart_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "commitment":
-             { "compressed_state": $smart_rollup_state_hash,
-               "inbox_level": integer ∈ [0, 2^31],
-               "predecessor": $smart_rollup_commitment_hash,
-               "number_of_ticks": $int64 },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_refute */
-           "kind": "smart_rollup_refute",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "opponent": $Signature.Public_key_hash,
-           "refutation":
-             { /* Start */
-               "refutation_kind": "start",
-               "player_commitment_hash": $smart_rollup_commitment_hash,
-               "opponent_commitment_hash": $smart_rollup_commitment_hash }
-             || { /* Move */
-                  "refutation_kind": "move",
-                  "choice": $positive_bignum,
-                  "step":
-                    [ { "state"?: $smart_rollup_state_hash,
-                        "tick": $positive_bignum } ... ]
-                    /* Dissection */
-                    || { /* Proof */
-                         "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                         "input_proof"?:
-                           { /* inbox proof */
-                             "input_proof_kind": "inbox_proof",
-                             "level": integer ∈ [0, 2^31],
-                             "message_counter": $positive_bignum,
-                             "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                           || { /* reveal proof */
-                                "input_proof_kind": "reveal_proof",
-                                "reveal_proof":
-                                  { /* raw data proof */
-                                    "reveal_proof_kind": "raw_data_proof",
-                                    "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* metadata proof */
-                                       "reveal_proof_kind": "metadata_proof" }
-                                  || { /* dal page proof */
-                                       "reveal_proof_kind": "dal_page_proof",
-                                       "dal_page_id":
-                                         { "published_level":
-                                             integer ∈ [0, 2^31],
-                                           "slot_index": integer ∈ [0, 255],
-                                           "page_index":
-                                             integer ∈ [-2^15, 2^15-1] },
-                                       "dal_proof":
-                                         /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* dal parameters proof */
-                                       "reveal_proof_kind":
-                                         "dal_parameters_proof" } }
-                           || { /* first input */
-                                "input_proof_kind": "first_input" } } },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_timeout */
-           "kind": "smart_rollup_timeout",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "stakers":
-             { "alice": $Signature.Public_key_hash,
-               "bob": $Signature.Public_key_hash },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_execute_outbox_message */
-           "kind": "smart_rollup_execute_outbox_message",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "cemented_commitment": $smart_rollup_commitment_hash,
-           "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_recover_bond */
-           "kind": "smart_rollup_recover_bond",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "staker": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_origination */
-           "kind": "zk_rollup_origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "circuits_info":
-             [ [ $unistring,
-                 { /* Public */
-                   "public": any }
-                 || { /* Private */
-                      "private": any }
-                 || { /* Fee */
-                      "fee": any } ] ... ],
-           "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "nb_ops": integer ∈ [-2^30, 2^30],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_publish */
-           "kind": "zk_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "zk_rollup": $Zk_rollup_hash,
-           "update":
-             { "pending_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                       "exit_validity": boolean } ] ... ],
-               "private_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
-               "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
-               "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-    $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment:
-      { /* Applied */
-        "status": "applied",
-        "slot_header":
-          { /* v0 */
-            "version": "0",
-            "level": integer ∈ [0, 2^31],
-            "index": integer ∈ [0, 255],
-            "commitment": $DAL_commitment },
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "slot_header":
-             { /* v0 */
-               "version": "0",
-               "level": integer ∈ [0, 2^31],
-               "index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment },
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.operation_result.register_global_constant:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "global_address": $script_expr }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "global_address": $script_expr }
-    $021-PsQuebec.operation.alpha.operation_result.reveal:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "inbox_level": integer ∈ [0, 2^31],
-        "commitment_hash": $smart_rollup_commitment_hash }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "inbox_level": integer ∈ [0, 2^31],
-           "commitment_hash": $smart_rollup_commitment_hash }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "whitelist_update"?:
-          { /* Public */
-            "kind": "public" }
-          || { /* Private */
-               "kind": "update",
-               "whitelist": [ $Signature.Public_key_hash ... ] },
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "whitelist_update"?:
-             { /* Public */
-               "kind": "public" }
-             || { /* Private */
-                  "kind": "update",
-                  "whitelist": [ $Signature.Public_key_hash ... ] },
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "address": $smart_rollup_address,
-        "genesis_commitment_hash": $smart_rollup_commitment_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "address": $smart_rollup_address,
-           "genesis_commitment_hash": $smart_rollup_commitment_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "staked_hash": $smart_rollup_commitment_hash,
-        "published_at_level": integer ∈ [0, 2^31],
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "staked_hash": $smart_rollup_commitment_hash,
-           "published_at_level": integer ∈ [0, 2^31],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_result.transfer_ticket:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.update_consensus_key:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_zk_rollup": $Zk_rollup_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_zk_rollup": $Zk_rollup_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_with_metadata:
-      { /* Operation_with_metadata */
-        "contents":
-          [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-        "signature"?: $Signature.V1 }
-      || { /* Operation_without_metadata */
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-    $021-PsQuebec.operation_metadata.alpha.balance_updates:
-      [ { /* Contract */
-          "kind": "contract",
-          "contract": $021-PsQuebec.contract_id,
-          "change": $int64,
-          "origin": "block" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "block" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash } ... ]
-    $021-PsQuebec.sapling_state_id:
-      /* Sapling state identifier
-         A sapling state identifier */
-      $bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $021-PsQuebec.staker:
-      /* unstaked_frozen_staker
-         Abstract notion of staker used in operation receipts for unstaked
-         frozen deposits, either a single staker or all the stakers delegating
-         to some delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-    $021-PsQuebec.transaction_destination:
-      /* A destination of a transaction
-         A destination notation compatible with the contract notation as given
-         to an RPC or inside scripts. Can be a base58 implicit contract hash, a
-         base58 originated contract hash, a base58 originated transaction
-         rollup, or a base58 originated smart rollup. */
-      $unistring
-    $Blinded public key hash:
-      /* A blinded public key hash (Base58Check-encoded) */
-      $unistring
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Ed25519.Public_key_hash:
-      /* An Ed25519 public key hash (Base58Check-encoded) */
-      $unistring
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key:
-      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $Zk_rollup_hash:
-      /* A zk rollup address (Base58Check-encoded) */
-      $unistring
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $operation:
-      { /* An operation's shell header. */
-        "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-        "chain_id": $Chain_id,
-        "hash": $Operation_hash,
-        "branch": $block_hash,
-        "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1,
-        "metadata": "too large" }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents":
-             [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-           "signature"?: $Signature.V1 }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_2
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_4     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_5
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_7     |
-    +-----------------+----------------------+----------+
-
-
-    X_8
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_1
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_5                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_8                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_11
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_10
-    ****
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_11                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_14 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_9
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_10    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_14    |
-    +-----------------+----------------------+----------+
-
-
-    X_17 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_15
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_17    |
-    +-----------------+----------------------+----------+
-
-
-    X_18
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_19
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_20
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_20                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_22 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_21                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_23
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_23                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_22                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_25 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_24                  |
-    +--------+----------------------+------------------------+
-
-
-    X_26
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_28 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_31
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.contents (Determined from data, 8-bit tag)
-    ***********************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | Tag   | 1 byte   | unsigned 8-bit integer           |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_31                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_30                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_28) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_29                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_3                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_26                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_19                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_15                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_9                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_1                   |
-    +---------------+----------------------+------------------------+
-
-
-    021-PsQuebec.staker (Determined from data, 8-bit tag)
-    *****************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    021-PsQuebec.bond_id (21 bytes, 8-bit tag)
-    ******************************************
-
-    Smart_rollup_bond_id (tag 1)
-    ============================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | smart_rollup | 20 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    021-PsQuebec.frozen_staker (Determined from data, 8-bit tag)
-    ************************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    Baker (tag 2)
-    =============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | baker_own_stake | 21 bytes | $public_key_hash       |
-    +-----------------+----------+------------------------+
-
-
-    Baker_edge (tag 3)
-    ==================
-
-    +------------+----------+------------------------+
-    | Name       | Size     | Contents               |
-    +============+==========+========================+
-    | Tag        | 1 byte   | unsigned 8-bit integer |
-    +------------+----------+------------------------+
-    | baker_edge | 21 bytes | $public_key_hash       |
-    +------------+----------+------------------------+
-
-
-    X_42 (Determined from data, 8-bit tag)
-    **************************************
-
-    Contract (tag 0)
-    ================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Block_fees (tag 2)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Deposits (tag 4)
-    ================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.frozen_staker      |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Nonce_revelation_rewards (tag 5)
-    ================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Attesting_rewards (tag 7)
-    =========================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_rewards (tag 8)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_bonuses (tag 9)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Storage_fees (tag 11)
-    =====================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Double_signing_punishments (tag 12)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Lost_attesting_rewards (tag 13)
-    ===============================
-
-    +---------------+----------+-------------------------------------+
-    | Name          | Size     | Contents                            |
-    +===============+==========+=====================================+
-    | Tag           | 1 byte   | unsigned 8-bit integer              |
-    +---------------+----------+-------------------------------------+
-    | delegate      | 21 bytes | $public_key_hash                    |
-    +---------------+----------+-------------------------------------+
-    | participation | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | change        | 8 bytes  | signed 64-bit big-endian integer    |
-    +---------------+----------+-------------------------------------+
-
-
-    Liquidity_baking_subsidies (tag 14)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Burned (tag 15)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Commitments (tag 16)
-    ====================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | committer | 20 bytes | bytes                            |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Bootstrap (tag 17)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Invoice (tag 18)
-    ================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Initial_commitments (tag 19)
-    ============================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Minted (tag 20)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Frozen_bonds (tag 21)
-    =====================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | bond_id  | 21 bytes | $021-PsQuebec.bond_id            |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Smart_rollup_refutation_punishments (tag 24)
-    ============================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Smart_rollup_refutation_rewards (tag 25)
-    ========================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Unstaked_deposits (tag 26)
-    ==========================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.staker             |
-    +--------+----------------------+----------------------------------+
-    | cycle  | 4 bytes              | signed 32-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Staking_delegator_numerator (tag 27)
-    ====================================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | delegator | 22 bytes | $021-PsQuebec.contract_id        |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Staking_delegate_denominator (tag 28)
-    =====================================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | delegate | 21 bytes | $public_key_hash                 |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    X_43 (Determined from data, 8-bit tag)
-    **************************************
-
-    Block_application (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Protocol_migration (tag 1)
-    ==========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Subsidy (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Simulation (tag 3)
-    ==================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Delayed_operation (tag 4)
-    =========================
-
-    +------------------------+----------+------------------------+
-    | Name                   | Size     | Contents               |
-    +========================+==========+========================+
-    | Tag                    | 1 byte   | unsigned 8-bit integer |
-    +------------------------+----------+------------------------+
-    | delayed_operation_hash | 32 bytes | bytes                  |
-    +------------------------+----------+------------------------+
-
-
-    X_41
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_42    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_43    |
-    +-----------------+----------------------+----------+
-
-
-    X_44
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
-    ************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.transaction_destination (22 bytes, 8-bit tag)
-    **********************************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    Smart_rollup (tag 3)
-    ====================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | smart_rollup_address | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-    | padding              | 1 byte   | padding                |
-    +----------------------+----------+------------------------+
-
-
-    Zk_rollup (tag 4)
-    =================
-
-    +----------------+----------+------------------------+
-    | Name           | Size     | Contents               |
-    +================+==========+========================+
-    | Tag            | 1 byte   | unsigned 8-bit integer |
-    +----------------+----------+------------------------+
-    | Zk_rollup_hash | 20 bytes | bytes                  |
-    +----------------+----------+------------------------+
-    | padding        | 1 byte   | padding                |
-    +----------------+----------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
-    **********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_66
-    ****
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-
-    X_65
-    ****
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_66                  |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    X_71 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_65                  |
-    +---------+----------------------+------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | source  | Determined from data | $Z.t                   |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_65                  |
-    +---------+----------------------+------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------+----------------------+------------------------------------+
-    | Name      | Size                 | Contents                           |
-    +===========+======================+====================================+
-    | Tag       | 1 byte               | unsigned 8-bit integer             |
-    +-----------+----------------------+------------------------------------+
-    | updates   | Determined from data | $X_65                              |
-    +-----------+----------------------+------------------------------------+
-    | memo_size | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------+----------------------+------------------------------------+
-
-
-    X_72
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | Name                        | Size                 | Contents                                        |
-    +=============================+======================+=================================================+
-    | key_hash                    | 32 bytes             | bytes                                           |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | key                         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | value                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-
-
-    X_83 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | updates               | Variable | sequence of $X_72                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | Determined from data | $Z.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_72                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | updates               | Variable             | sequence of $X_72                               |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | key_type              | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | value_type            | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    X_84 (Determined from data, 8-bit tag)
-    **************************************
-
-    big_map (tag 0)
-    ===============
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_83                  |
-    +------+----------------------+------------------------+
-
-
-    sapling_state (tag 1)
-    =====================
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_71                  |
-    +------+----------------------+------------------------+
-
-
-    021-PsQuebec.lazy_storage_diff
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_84                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                                            |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    X_111
-    *****
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-
-
-    X_114
-    *****
-
-    +---------+----------------------+---------------------------------------+
-    | Name    | Size                 | Contents                              |
-    +=========+======================+=======================================+
-    | account | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +---------+----------------------+---------------------------------------+
-    | amount  | Determined from data | $Z.t                                  |
-    +---------+----------------------+---------------------------------------+
-
-
-    X_110
-    *****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | ticket_token          | Determined from data | $X_111                             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_114                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_144 (Determined from data, 8-bit tag)
-    ***************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_receipt                                                           | Variable             | sequence of $X_110                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_receipt        | Variable             | sequence of $X_110                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_144                 |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_144                              |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    transaction (tag 1)
-    ===================
-
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                             | Size                 | Contents                                                            |
-    +==================================+======================+=====================================================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer                                              |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                           | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                            | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | amount                           | Determined from data | $N.t                                                                |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | parameters                       | Determined from data | $X_30                                                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                           | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.transaction |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    origination (tag 2)
-    ===================
-
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                            |
-    +================================+======================+=====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                              |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | balance                        | Determined from data | $N.t                                                                |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    delegation (tag 3)
-    ==================
-
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                           |
-    +================================+======================+====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                             |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                              |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                 |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                   |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-
-
-    event (tag 4)
-    =============
-
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | Name                          | Size                 | Contents                                                      |
-    +===============================+======================+===============================================================+
-    | Tag                           | 1 byte               | unsigned 8-bit integer                                        |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | source                        | 22 bytes             | $021-PsQuebec.transaction_destination                         |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | nonce                         | 2 bytes              | unsigned 16-bit big-endian integer                            |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | type                          | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | tag                           | Determined from data | $021-PsQuebec.entrypoint                                      |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | payload                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | result                        | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-
-
-    X_40
-    ****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update         |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
-    *************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_186
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
-    *****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_329
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_475 (54 bytes, 8-bit tag)
-    ***************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | slot_header       | 54 bytes             | $X_475                 |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | slot_header                  | 54 bytes             | $X_475                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_470
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
-    *********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_606
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                 |
-    +==========================================================================+======================+==========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                        |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-
-
-    X_760 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +-----------+----------------------+------------------------+
-    | Name      | Size                 | Contents               |
-    +===========+======================+========================+
-    | Tag       | 1 byte               | unsigned 8-bit integer |
-    +-----------+----------------------+------------------------+
-    | whitelist | Determined from data | $X_29                  |
-    +-----------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
-    *******************************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_760                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_760                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_746
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                           |
-    +==========================================================================+======================+====================================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result            |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-
-
-    X_906 (1 byte, 8-bit tag)
-    *************************
-
-    Conflict_resolved (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Timeout (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_907 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Loser (tag 0)
-    =============
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | reason | 1 byte   | $X_906                 |
-    +--------+----------+------------------------+
-    | player | 21 bytes | $public_key_hash       |
-    +--------+----------+------------------------+
-
-
-    Draw (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_908 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Ongoing (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Ended (tag 1)
-    =============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | result | Determined from data | $X_907                 |
-    +--------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | game_status                                                              | Determined from data | $X_908                             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | game_status                                                              | Determined from data | $X_908                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_901
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1200
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+----------------------------------+
-    | Name              | Size                 | Contents                         |
-    +===================+======================+==================================+
-    | Tag               | 1 byte               | unsigned 8-bit integer           |
-    +-------------------+----------------------+----------------------------------+
-    | consumed_milligas | Determined from data | $N.t                             |
-    +-------------------+----------------------+----------------------------------+
-    | inbox_level       | 4 bytes              | signed 32-bit big-endian integer |
-    +-------------------+----------------------+----------------------------------+
-    | commitment_hash   | 32 bytes             | bytes                            |
-    +-------------------+----------------------+----------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-    | inbox_level                  | 4 bytes              | signed 32-bit big-endian integer    |
-    +------------------------------+----------------------+-------------------------------------+
-    | commitment_hash              | 32 bytes             | bytes                               |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_1340
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1475
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event           |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1611
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
-    ***********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1751
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transfer_ticket          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
-    ********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_44                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_2309
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.register_global_constant |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2449
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2589
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2809 (Determined from data, 8-bit tag)
-    ****************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_110                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_updates        | Variable             | sequence of $X_110                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
-    *******************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_2809                |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_3                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_44                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_2809                             |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_2770
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transaction              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_3108
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size     | Contents                                                                |
-    +==========================================================================+==========+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_41                                                       |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | delegate                                                                 | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_power                                                          | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_key                                                            | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-
-
-    X_3120
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | allocated_destination_contract                                           | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation_metadata.alpha.balance_updates
-    *****************************************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_41                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3128
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | ? presence of field "forbidden_delegate"                                 | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | forbidden_delegate                                                       | 21 bytes | $public_key_hash                    |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_41                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | level    | 4 bytes              | signed 32-bit big-endian integer                       |
-    +----------+----------------------+--------------------------------------------------------+
-    | nonce    | 32 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Double_attestation_evidence (tag 2)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op1                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_3128                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Double_baking_evidence (tag 3)
-    ==============================
-
-    +-----------------------+----------------------+----------------------------------------------+
-    | Name                  | Size                 | Contents                                     |
-    +=======================+======================+==============================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                       |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh1                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh2                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | metadata              | Determined from data | $X_3128                                      |
-    +-----------------------+----------------------+----------------------------------------------+
-
-
-    Activate_account (tag 4)
-    ========================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | pkh      | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | secret   | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Proposals (tag 5)
-    =================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | source                | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | period                | 4 bytes  | signed 32-bit 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             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------------------+--------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | metadata              | Determined from data | $X_3128                              |
-    +-----------------------+----------------------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | solution | 200 bytes            | $X_31                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | consensus_key | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | delegate      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | destination   | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_3120                |
-    +---------------+----------------------+------------------------+
-
-
-    Preattestation (tag 20)
-    =======================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3108                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation (tag 21)
-    ====================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3108                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation_with_dal (tag 23)
-    =============================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                               |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3108                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Reveal (tag 107)
-    ================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | public_key    | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1475                |
-    +---------------+----------------------+------------------------+
-
-
-    Transaction (tag 108)
-    =====================
-
-    +----------------------------------+----------------------+-------------------------------------+
-    | Name                             | Size                 | Contents                            |
-    +==================================+======================+=====================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer              |
-    +----------------------------------+----------------------+-------------------------------------+
-    | source                           | 21 bytes             | $public_key_hash                    |
-    +----------------------------------+----------------------+-------------------------------------+
-    | fee                              | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | counter                          | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | gas_limit                        | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | storage_limit                    | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | amount                           | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_30                               |
-    +----------------------------------+----------------------+-------------------------------------+
-    | metadata                         | Determined from data | $X_2770                             |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2589                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Delegation (tag 110)
-    ====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2449                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Register_global_constant (tag 111)
-    ==================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_2309                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Set_deposits_limit (tag 112)
-    ============================
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | Tag                         | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------+----------------------+-------------------------------------+
-    | source                      | 21 bytes             | $public_key_hash                    |
-    +-----------------------------+----------------------+-------------------------------------+
-    | fee                         | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | counter                     | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | gas_limit                   | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | storage_limit               | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | limit                       | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | metadata                    | Determined from data | $X_1475                             |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    Increase_paid_storage (tag 113)
-    ===============================
-
-    +---------------+----------------------+--------------------------------------+
-    | Name          | Size                 | Contents                             |
-    +===============+======================+======================================+
-    | Tag           | 1 byte               | unsigned 8-bit integer               |
-    +---------------+----------------------+--------------------------------------+
-    | source        | 21 bytes             | $public_key_hash                     |
-    +---------------+----------------------+--------------------------------------+
-    | fee           | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | counter       | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | gas_limit     | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | storage_limit | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | amount        | Determined from data | $Z.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | destination   | 22 bytes             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-    | metadata      | Determined from data | $X_606                               |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1475                |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | entrypoint            | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1751                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_originate (tag 200)
-    ================================
-
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | Name                            | Size                 | Contents                                                  |
-    +=================================+======================+===========================================================+
-    | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | source                          | 21 bytes             | $public_key_hash                                          |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | fee                             | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | counter                         | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | gas_limit                       | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | storage_limit                   | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_28) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # bytes in next field           | 4 bytes              | unsigned 30-bit 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_29                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | metadata                        | Determined from data | $X_1611                                                   |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_3                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1475                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1340                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_26                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1200                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_25                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_901                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_19                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_901                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | output_proof          | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_746                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_recover_bond (tag 207)
-    ===================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | staker        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_606                 |
-    +---------------+----------------------+------------------------+
-
-
-    Dal_publish_commitment (tag 230)
-    ================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | slot_header   | 145 bytes            | $X_18                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_470                 |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_15                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | metadata              | Determined from data | $X_329                                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    Zk_rollup_publish (tag 251)
-    ===========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | zk_rollup             | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op                    | Variable             | sequence of $X_9                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_186                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_1                   |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_40                  |
-    +---------------+----------------------+------------------------+
-
-
-    X_3146 (Variable, 8-bit tag)
-    ****************************
-
-    Operation_with_metadata (tag 0)
-    ===============================
-
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                |
-    +=======================+==========+=========================================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                                                  |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.operation_contents_and_result |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | signature             | Variable | bytes                                                                   |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-
-
-    Operation_without_metadata (tag 1)
-    ==================================
-
-    +-----------------------+----------+----------------------------------------------------+
-    | Name                  | Size     | Contents                                           |
-    +=======================+==========+====================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                             |
-    +-----------------------+----------+----------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                 |
-    +-----------------------+----------+----------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.contents |
-    +-----------------------+----------+----------------------------------------------------+
-    | signature             | Variable | bytes                                              |
-    +-----------------------+----------+----------------------------------------------------+
-
-
-    bls_signature_prefix (33 bytes, 8-bit tag)
-    ******************************************
-
-    Bls_prefix (tag 3)
-    ==================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | 32 bytes | bytes                  |
-    +-----------------+----------+------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_31                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_30                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_28) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_29                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_3                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_26                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_19                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_15                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_9                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_1                   |
-    +---------------+----------------------+------------------------+
-
-
-    Signature_prefix (tag 255)
-    ==========================
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | Tag              | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | signature_prefix | 33 bytes | $bls_signature_prefix  |
-    +------------------+----------+------------------------+
-
-
-    X_3209 (Variable, 8-bit tag)
-    ****************************
-
-    Operation with too large metadata (tag 0)
-    =========================================
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | Tag                           | 1 byte   | unsigned 8-bit integer                                                 |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-
-    Operation without metadata (tag 1)
-    ==================================
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | Tag                           | 1 byte   | unsigned 8-bit integer                                                 |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-
-    Operation with metadata (tag 2)
-    ===============================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | Variable | $X_3146                |
-    +-----------------+----------+------------------------+
-
-
-    operation
-    *********
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | chain_id              | 4 bytes  | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | hash                  | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | branch                | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | $X_3209                            |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +--------------------------+----------+------------------------------------+
-    | 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 $operation             |
-    +--------------------------+----------+------------------------------------+
-
-    
-
- - -.. _GET_..--block_id--operations--list_offset : - -**GET ..//operations/?[version=]&[force_metadata]&[metadata=]** - -.. raw:: html - -
- - -
-

- All the operations included in `n-th` validation pass of the block.

Optional query arguments :

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

-
-
-
-    [ $operation ... ] /* operations_in_pass_encoding_v1 */
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.apply_internal_results.alpha.operation_result:
-      { /* transaction */
-        "kind": "transaction",
-        "source": $021-PsQuebec.transaction_destination,
-        "nonce": integer ∈ [0, 2^16-1],
-        "amount": $021-PsQuebec.mutez,
-        "destination": $021-PsQuebec.transaction_destination,
-        "parameters"?: { "entrypoint": $021-PsQuebec.entrypoint,
-                         "value": any },
-        "result":
-          $021-PsQuebec.operation.alpha.internal_operation_result.transaction }
-      || { /* origination */
-           "kind": "origination",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.origination }
-      || { /* delegation */
-           "kind": "delegation",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?: $Signature.Public_key_hash,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.delegation }
-      || { /* event */
-           "kind": "event",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "type": $micheline.021-PsQuebec.michelson_v1.expression,
-           "tag"?: $021-PsQuebec.entrypoint,
-           "payload"?: $micheline.021-PsQuebec.michelson_v1.expression,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.event }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.bond_id:
-      { /* Smart_rollup_bond_id */
-        "smart_rollup": $smart_rollup_address }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.error:
-      /* The full list of RPC errors would be too long to include.
-         It is available at RPC `/errors` (GET).
-         Errors specific to protocol Alpha have an id that starts with
-         `proto.alpha`. */
-      any
-    $021-PsQuebec.frozen_staker:
-      /* frozen_staker
-         Abstract notion of staker used in operation receipts for frozen
-         deposits, either a single staker or all the stakers delegating to some
-         delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-      || { /* Baker */
-           "baker_own_stake": $Signature.Public_key_hash }
-      || { /* Baker_edge */
-           "baker_edge": $Signature.Public_key_hash }
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.lazy_storage_diff:
-      [ { /* big_map */
-          "kind": "big_map",
-          "id": $021-PsQuebec.big_map_id,
-          "diff":
-            { /* update */
-              "action": "update",
-              "updates":
-                [ { "key_hash": $script_expr,
-                    "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                    "value"?: $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* remove */
-                 "action": "remove" }
-            || { /* copy */
-                 "action": "copy",
-                 "source": $021-PsQuebec.big_map_id,
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* alloc */
-                 "action": "alloc",
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-                 "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-                 "value_type": $micheline.021-PsQuebec.michelson_v1.expression } }
-        || { /* sapling_state */
-             "kind": "sapling_state",
-             "id": $021-PsQuebec.sapling_state_id,
-             "diff":
-               { /* update */
-                 "action": "update",
-                 "updates":
-                   { "commitments_and_ciphertexts":
-                       [ [ $sapling.transaction.commitment,
-                           $sapling.transaction.ciphertext ] ... ],
-                     "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* remove */
-                    "action": "remove" }
-               || { /* copy */
-                    "action": "copy",
-                    "source": $021-PsQuebec.sapling_state_id,
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* alloc */
-                    "action": "alloc",
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] },
-                    "memo_size": integer ∈ [0, 2^16-1] } } ... ]
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.operation.alpha.contents_and_signature:
-      { "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.operation.alpha.internal_operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.internal_operation_result.event:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.internal_operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.internal_operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_contents_and_result:
-      { /* Attestation */
-        "kind": "attestation",
-        "slot": integer ∈ [0, 2^16-1],
-        "level": integer ∈ [0, 2^31],
-        "round": integer ∈ [-2^31-1, 2^31],
-        "block_payload_hash": $value_hash,
-        "metadata":
-          { "balance_updates"?:
-              $021-PsQuebec.operation_metadata.alpha.balance_updates,
-            "delegate": $Signature.Public_key_hash,
-            "consensus_power": integer ∈ [-2^30, 2^30],
-            "consensus_key": $Signature.Public_key_hash } }
-      || { /* Attestation_with_dal */
-           "kind": "attestation_with_dal",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "dal_attestation": $bignum,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Preattestation */
-           "kind": "preattestation",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.inlined.attestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_preattestation_evidence */
-           "kind": "double_preattestation_evidence",
-           "op1": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Seed_nonce_revelation */
-           "kind": "seed_nonce_revelation",
-           "level": integer ∈ [0, 2^31],
-           "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Vdf_revelation */
-           "kind": "vdf_revelation",
-           "solution":
-             [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_baking_evidence */
-           "kind": "double_baking_evidence",
-           "bh1": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.block_header.alpha.full_header,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Activate_account */
-           "kind": "activate_account",
-           "pkh": $Ed25519.Public_key_hash,
-           "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Proposals */
-           "kind": "proposals",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposals": [ $Protocol_hash ... ],
-           "metadata": {  } }
-      || { /* Ballot */
-           "kind": "ballot",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposal": $Protocol_hash,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { /* Drain_delegate */
-           "kind": "drain_delegate",
-           "consensus_key": $Signature.Public_key_hash,
-           "delegate": $Signature.Public_key_hash,
-           "destination": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "allocated_destination_contract"?: boolean } }
-      || { /* Reveal */
-           "kind": "reveal",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_key": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transaction */
-           "kind": "transaction",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "delegate"?: $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Register_global_constant */
-           "kind": "register_global_constant",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "value": any,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.register_global_constant,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Set_deposits_limit */
-           "kind": "set_deposits_limit",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pk": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.update_consensus_key,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transfer_ticket */
-           "kind": "transfer_ticket",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transfer_ticket,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "slot_header":
-             { "slot_index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment,
-               "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_originate */
-           "kind": "smart_rollup_originate",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
-           "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "parameters_ty": any,
-           "whitelist"?: [ $Signature.Public_key_hash ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_add_messages */
-           "kind": "smart_rollup_add_messages",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_cement */
-           "kind": "smart_rollup_cement",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_publish */
-           "kind": "smart_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "commitment":
-             { "compressed_state": $smart_rollup_state_hash,
-               "inbox_level": integer ∈ [0, 2^31],
-               "predecessor": $smart_rollup_commitment_hash,
-               "number_of_ticks": $int64 },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_refute */
-           "kind": "smart_rollup_refute",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "opponent": $Signature.Public_key_hash,
-           "refutation":
-             { /* Start */
-               "refutation_kind": "start",
-               "player_commitment_hash": $smart_rollup_commitment_hash,
-               "opponent_commitment_hash": $smart_rollup_commitment_hash }
-             || { /* Move */
-                  "refutation_kind": "move",
-                  "choice": $positive_bignum,
-                  "step":
-                    [ { "state"?: $smart_rollup_state_hash,
-                        "tick": $positive_bignum } ... ]
-                    /* Dissection */
-                    || { /* Proof */
-                         "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                         "input_proof"?:
-                           { /* inbox proof */
-                             "input_proof_kind": "inbox_proof",
-                             "level": integer ∈ [0, 2^31],
-                             "message_counter": $positive_bignum,
-                             "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                           || { /* reveal proof */
-                                "input_proof_kind": "reveal_proof",
-                                "reveal_proof":
-                                  { /* raw data proof */
-                                    "reveal_proof_kind": "raw_data_proof",
-                                    "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* metadata proof */
-                                       "reveal_proof_kind": "metadata_proof" }
-                                  || { /* dal page proof */
-                                       "reveal_proof_kind": "dal_page_proof",
-                                       "dal_page_id":
-                                         { "published_level":
-                                             integer ∈ [0, 2^31],
-                                           "slot_index": integer ∈ [0, 255],
-                                           "page_index":
-                                             integer ∈ [-2^15, 2^15-1] },
-                                       "dal_proof":
-                                         /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* dal parameters proof */
-                                       "reveal_proof_kind":
-                                         "dal_parameters_proof" } }
-                           || { /* first input */
-                                "input_proof_kind": "first_input" } } },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_timeout */
-           "kind": "smart_rollup_timeout",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "stakers":
-             { "alice": $Signature.Public_key_hash,
-               "bob": $Signature.Public_key_hash },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_execute_outbox_message */
-           "kind": "smart_rollup_execute_outbox_message",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "cemented_commitment": $smart_rollup_commitment_hash,
-           "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_recover_bond */
-           "kind": "smart_rollup_recover_bond",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "staker": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_origination */
-           "kind": "zk_rollup_origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "circuits_info":
-             [ [ $unistring,
-                 { /* Public */
-                   "public": any }
-                 || { /* Private */
-                      "private": any }
-                 || { /* Fee */
-                      "fee": any } ] ... ],
-           "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "nb_ops": integer ∈ [-2^30, 2^30],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_publish */
-           "kind": "zk_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "zk_rollup": $Zk_rollup_hash,
-           "update":
-             { "pending_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                       "exit_validity": boolean } ] ... ],
-               "private_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
-               "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
-               "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-    $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment:
-      { /* Applied */
-        "status": "applied",
-        "slot_header":
-          { /* v0 */
-            "version": "0",
-            "level": integer ∈ [0, 2^31],
-            "index": integer ∈ [0, 255],
-            "commitment": $DAL_commitment },
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "slot_header":
-             { /* v0 */
-               "version": "0",
-               "level": integer ∈ [0, 2^31],
-               "index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment },
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.operation_result.register_global_constant:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "global_address": $script_expr }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "global_address": $script_expr }
-    $021-PsQuebec.operation.alpha.operation_result.reveal:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "inbox_level": integer ∈ [0, 2^31],
-        "commitment_hash": $smart_rollup_commitment_hash }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "inbox_level": integer ∈ [0, 2^31],
-           "commitment_hash": $smart_rollup_commitment_hash }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "whitelist_update"?:
-          { /* Public */
-            "kind": "public" }
-          || { /* Private */
-               "kind": "update",
-               "whitelist": [ $Signature.Public_key_hash ... ] },
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "whitelist_update"?:
-             { /* Public */
-               "kind": "public" }
-             || { /* Private */
-                  "kind": "update",
-                  "whitelist": [ $Signature.Public_key_hash ... ] },
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "address": $smart_rollup_address,
-        "genesis_commitment_hash": $smart_rollup_commitment_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "address": $smart_rollup_address,
-           "genesis_commitment_hash": $smart_rollup_commitment_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "staked_hash": $smart_rollup_commitment_hash,
-        "published_at_level": integer ∈ [0, 2^31],
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "staked_hash": $smart_rollup_commitment_hash,
-           "published_at_level": integer ∈ [0, 2^31],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_result.transfer_ticket:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.update_consensus_key:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_zk_rollup": $Zk_rollup_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_zk_rollup": $Zk_rollup_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_with_metadata:
-      { /* Operation_with_metadata */
-        "contents":
-          [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-        "signature"?: $Signature.V1 }
-      || { /* Operation_without_metadata */
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-    $021-PsQuebec.operation_metadata.alpha.balance_updates:
-      [ { /* Contract */
-          "kind": "contract",
-          "contract": $021-PsQuebec.contract_id,
-          "change": $int64,
-          "origin": "block" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "block" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash } ... ]
-    $021-PsQuebec.sapling_state_id:
-      /* Sapling state identifier
-         A sapling state identifier */
-      $bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $021-PsQuebec.staker:
-      /* unstaked_frozen_staker
-         Abstract notion of staker used in operation receipts for unstaked
-         frozen deposits, either a single staker or all the stakers delegating
-         to some delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-    $021-PsQuebec.transaction_destination:
-      /* A destination of a transaction
-         A destination notation compatible with the contract notation as given
-         to an RPC or inside scripts. Can be a base58 implicit contract hash, a
-         base58 originated contract hash, a base58 originated transaction
-         rollup, or a base58 originated smart rollup. */
-      $unistring
-    $Blinded public key hash:
-      /* A blinded public key hash (Base58Check-encoded) */
-      $unistring
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Ed25519.Public_key_hash:
-      /* An Ed25519 public key hash (Base58Check-encoded) */
-      $unistring
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key:
-      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $Zk_rollup_hash:
-      /* A zk rollup address (Base58Check-encoded) */
-      $unistring
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $operation:
-      { /* An operation's shell header. */
-        "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-        "chain_id": $Chain_id,
-        "hash": $Operation_hash,
-        "branch": $block_hash,
-        "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1,
-        "metadata": "too large" }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents":
-             [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-           "signature"?: $Signature.V1 }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $operation             |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_1
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-
-
-    X_6
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_6     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_1                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_4                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_7                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_10
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_9
-    ***
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_10                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_13 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_8
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_9     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_13    |
-    +-----------------+----------------------+----------+
-
-
-    X_16 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_14
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_16    |
-    +-----------------+----------------------+----------+
-
-
-    X_17
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_18
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_19
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_20 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_19                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_20                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_22
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_23 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_22                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_21                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_23                  |
-    +--------+----------------------+------------------------+
-
-
-    X_25
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_27 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_28
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.contents (Determined from data, 8-bit tag)
-    ***********************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | Tag   | 1 byte   | unsigned 8-bit integer           |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_30                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_17                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_8                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-
-
-    021-PsQuebec.staker (Determined from data, 8-bit tag)
-    *****************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    021-PsQuebec.bond_id (21 bytes, 8-bit tag)
-    ******************************************
-
-    Smart_rollup_bond_id (tag 1)
-    ============================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | smart_rollup | 20 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    021-PsQuebec.frozen_staker (Determined from data, 8-bit tag)
-    ************************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    Baker (tag 2)
-    =============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | baker_own_stake | 21 bytes | $public_key_hash       |
-    +-----------------+----------+------------------------+
-
-
-    Baker_edge (tag 3)
-    ==================
-
-    +------------+----------+------------------------+
-    | Name       | Size     | Contents               |
-    +============+==========+========================+
-    | Tag        | 1 byte   | unsigned 8-bit integer |
-    +------------+----------+------------------------+
-    | baker_edge | 21 bytes | $public_key_hash       |
-    +------------+----------+------------------------+
-
-
-    X_41 (Determined from data, 8-bit tag)
-    **************************************
-
-    Contract (tag 0)
-    ================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Block_fees (tag 2)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Deposits (tag 4)
-    ================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.frozen_staker      |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Nonce_revelation_rewards (tag 5)
-    ================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Attesting_rewards (tag 7)
-    =========================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_rewards (tag 8)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_bonuses (tag 9)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Storage_fees (tag 11)
-    =====================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Double_signing_punishments (tag 12)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Lost_attesting_rewards (tag 13)
-    ===============================
-
-    +---------------+----------+-------------------------------------+
-    | Name          | Size     | Contents                            |
-    +===============+==========+=====================================+
-    | Tag           | 1 byte   | unsigned 8-bit integer              |
-    +---------------+----------+-------------------------------------+
-    | delegate      | 21 bytes | $public_key_hash                    |
-    +---------------+----------+-------------------------------------+
-    | participation | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | change        | 8 bytes  | signed 64-bit big-endian integer    |
-    +---------------+----------+-------------------------------------+
-
-
-    Liquidity_baking_subsidies (tag 14)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Burned (tag 15)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Commitments (tag 16)
-    ====================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | committer | 20 bytes | bytes                            |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Bootstrap (tag 17)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Invoice (tag 18)
-    ================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Initial_commitments (tag 19)
-    ============================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Minted (tag 20)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Frozen_bonds (tag 21)
-    =====================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | bond_id  | 21 bytes | $021-PsQuebec.bond_id            |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Smart_rollup_refutation_punishments (tag 24)
-    ============================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Smart_rollup_refutation_rewards (tag 25)
-    ========================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Unstaked_deposits (tag 26)
-    ==========================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.staker             |
-    +--------+----------------------+----------------------------------+
-    | cycle  | 4 bytes              | signed 32-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Staking_delegator_numerator (tag 27)
-    ====================================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | delegator | 22 bytes | $021-PsQuebec.contract_id        |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Staking_delegate_denominator (tag 28)
-    =====================================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | delegate | 21 bytes | $public_key_hash                 |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    X_42 (Determined from data, 8-bit tag)
-    **************************************
-
-    Block_application (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Protocol_migration (tag 1)
-    ==========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Subsidy (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Simulation (tag 3)
-    ==================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Delayed_operation (tag 4)
-    =========================
-
-    +------------------------+----------+------------------------+
-    | Name                   | Size     | Contents               |
-    +========================+==========+========================+
-    | Tag                    | 1 byte   | unsigned 8-bit integer |
-    +------------------------+----------+------------------------+
-    | delayed_operation_hash | 32 bytes | bytes                  |
-    +------------------------+----------+------------------------+
-
-
-    X_40
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_41    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_42    |
-    +-----------------+----------------------+----------+
-
-
-    X_43
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
-    ************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.transaction_destination (22 bytes, 8-bit tag)
-    **********************************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    Smart_rollup (tag 3)
-    ====================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | smart_rollup_address | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-    | padding              | 1 byte   | padding                |
-    +----------------------+----------+------------------------+
-
-
-    Zk_rollup (tag 4)
-    =================
-
-    +----------------+----------+------------------------+
-    | Name           | Size     | Contents               |
-    +================+==========+========================+
-    | Tag            | 1 byte   | unsigned 8-bit integer |
-    +----------------+----------+------------------------+
-    | Zk_rollup_hash | 20 bytes | bytes                  |
-    +----------------+----------+------------------------+
-    | padding        | 1 byte   | padding                |
-    +----------------+----------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
-    **********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_65
-    ****
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-
-    X_64
-    ****
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_65                  |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    X_70 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_64                  |
-    +---------+----------------------+------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | source  | Determined from data | $Z.t                   |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_64                  |
-    +---------+----------------------+------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------+----------------------+------------------------------------+
-    | Name      | Size                 | Contents                           |
-    +===========+======================+====================================+
-    | Tag       | 1 byte               | unsigned 8-bit integer             |
-    +-----------+----------------------+------------------------------------+
-    | updates   | Determined from data | $X_64                              |
-    +-----------+----------------------+------------------------------------+
-    | memo_size | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------+----------------------+------------------------------------+
-
-
-    X_71
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | Name                        | Size                 | Contents                                        |
-    +=============================+======================+=================================================+
-    | key_hash                    | 32 bytes             | bytes                                           |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | key                         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | value                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-
-
-    X_82 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | updates               | Variable | sequence of $X_71                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | Determined from data | $Z.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_71                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | updates               | Variable             | sequence of $X_71                               |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | key_type              | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | value_type            | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    X_83 (Determined from data, 8-bit tag)
-    **************************************
-
-    big_map (tag 0)
-    ===============
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_82                  |
-    +------+----------------------+------------------------+
-
-
-    sapling_state (tag 1)
-    =====================
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_70                  |
-    +------+----------------------+------------------------+
-
-
-    021-PsQuebec.lazy_storage_diff
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_83                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                                            |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    X_110
-    *****
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-
-
-    X_113
-    *****
-
-    +---------+----------------------+---------------------------------------+
-    | Name    | Size                 | Contents                              |
-    +=========+======================+=======================================+
-    | account | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +---------+----------------------+---------------------------------------+
-    | amount  | Determined from data | $Z.t                                  |
-    +---------+----------------------+---------------------------------------+
-
-
-    X_109
-    *****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | ticket_token          | Determined from data | $X_110                             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_113                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_143 (Determined from data, 8-bit tag)
-    ***************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_receipt                                                           | Variable             | sequence of $X_109                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_receipt        | Variable             | sequence of $X_109                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_143                 |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_143                              |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    transaction (tag 1)
-    ===================
-
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                             | Size                 | Contents                                                            |
-    +==================================+======================+=====================================================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer                                              |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                           | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                            | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | amount                           | Determined from data | $N.t                                                                |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | parameters                       | Determined from data | $X_29                                                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                           | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.transaction |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    origination (tag 2)
-    ===================
-
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                            |
-    +================================+======================+=====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                              |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | balance                        | Determined from data | $N.t                                                                |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    delegation (tag 3)
-    ==================
-
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                           |
-    +================================+======================+====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                             |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                              |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                 |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                   |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-
-
-    event (tag 4)
-    =============
-
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | Name                          | Size                 | Contents                                                      |
-    +===============================+======================+===============================================================+
-    | Tag                           | 1 byte               | unsigned 8-bit integer                                        |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | source                        | 22 bytes             | $021-PsQuebec.transaction_destination                         |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | nonce                         | 2 bytes              | unsigned 16-bit big-endian integer                            |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | type                          | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | tag                           | Determined from data | $021-PsQuebec.entrypoint                                      |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | payload                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | result                        | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-
-
-    X_39
-    ****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update         |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
-    *************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_185
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
-    *****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_328
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_474 (54 bytes, 8-bit tag)
-    ***************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | slot_header       | 54 bytes             | $X_474                 |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | slot_header                  | 54 bytes             | $X_474                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_469
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
-    *********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_605
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                 |
-    +==========================================================================+======================+==========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                        |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-
-
-    X_759 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +-----------+----------------------+------------------------+
-    | Name      | Size                 | Contents               |
-    +===========+======================+========================+
-    | Tag       | 1 byte               | unsigned 8-bit integer |
-    +-----------+----------------------+------------------------+
-    | whitelist | Determined from data | $X_28                  |
-    +-----------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
-    *******************************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_759                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_759                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_745
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                           |
-    +==========================================================================+======================+====================================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result            |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-
-
-    X_905 (1 byte, 8-bit tag)
-    *************************
-
-    Conflict_resolved (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Timeout (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_906 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Loser (tag 0)
-    =============
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | reason | 1 byte   | $X_905                 |
-    +--------+----------+------------------------+
-    | player | 21 bytes | $public_key_hash       |
-    +--------+----------+------------------------+
-
-
-    Draw (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_907 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Ongoing (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Ended (tag 1)
-    =============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | result | Determined from data | $X_906                 |
-    +--------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | game_status                                                              | Determined from data | $X_907                             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | game_status                                                              | Determined from data | $X_907                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_900
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1199
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+----------------------------------+
-    | Name              | Size                 | Contents                         |
-    +===================+======================+==================================+
-    | Tag               | 1 byte               | unsigned 8-bit integer           |
-    +-------------------+----------------------+----------------------------------+
-    | consumed_milligas | Determined from data | $N.t                             |
-    +-------------------+----------------------+----------------------------------+
-    | inbox_level       | 4 bytes              | signed 32-bit big-endian integer |
-    +-------------------+----------------------+----------------------------------+
-    | commitment_hash   | 32 bytes             | bytes                            |
-    +-------------------+----------------------+----------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-    | inbox_level                  | 4 bytes              | signed 32-bit big-endian integer    |
-    +------------------------------+----------------------+-------------------------------------+
-    | commitment_hash              | 32 bytes             | bytes                               |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_1339
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1474
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event           |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1610
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
-    ***********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1750
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transfer_ticket          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
-    ********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_2308
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.register_global_constant |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2448
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2588
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2808 (Determined from data, 8-bit tag)
-    ****************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_updates        | Variable             | sequence of $X_109                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
-    *******************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_2808                |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_2808                             |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_2769
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transaction              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_3107
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size     | Contents                                                                |
-    +==========================================================================+==========+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | delegate                                                                 | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_power                                                          | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_key                                                            | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-
-
-    X_3119
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | allocated_destination_contract                                           | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation_metadata.alpha.balance_updates
-    *****************************************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_40                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3127
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | ? presence of field "forbidden_delegate"                                 | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | forbidden_delegate                                                       | 21 bytes | $public_key_hash                    |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | level    | 4 bytes              | signed 32-bit big-endian integer                       |
-    +----------+----------------------+--------------------------------------------------------+
-    | nonce    | 32 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Double_attestation_evidence (tag 2)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op1                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_3127                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Double_baking_evidence (tag 3)
-    ==============================
-
-    +-----------------------+----------------------+----------------------------------------------+
-    | Name                  | Size                 | Contents                                     |
-    +=======================+======================+==============================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                       |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh1                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh2                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | metadata              | Determined from data | $X_3127                                      |
-    +-----------------------+----------------------+----------------------------------------------+
-
-
-    Activate_account (tag 4)
-    ========================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | pkh      | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | secret   | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Proposals (tag 5)
-    =================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | source                | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | period                | 4 bytes  | signed 32-bit 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             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------------------+--------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | metadata              | Determined from data | $X_3127                              |
-    +-----------------------+----------------------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | solution | 200 bytes            | $X_30                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | consensus_key | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | delegate      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | destination   | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_3119                |
-    +---------------+----------------------+------------------------+
-
-
-    Preattestation (tag 20)
-    =======================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation (tag 21)
-    ====================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation_with_dal (tag 23)
-    =============================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                               |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Reveal (tag 107)
-    ================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | public_key    | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1474                |
-    +---------------+----------------------+------------------------+
-
-
-    Transaction (tag 108)
-    =====================
-
-    +----------------------------------+----------------------+-------------------------------------+
-    | Name                             | Size                 | Contents                            |
-    +==================================+======================+=====================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer              |
-    +----------------------------------+----------------------+-------------------------------------+
-    | source                           | 21 bytes             | $public_key_hash                    |
-    +----------------------------------+----------------------+-------------------------------------+
-    | fee                              | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | counter                          | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | gas_limit                        | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | storage_limit                    | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | amount                           | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-    | metadata                         | Determined from data | $X_2769                             |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2588                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Delegation (tag 110)
-    ====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2448                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Register_global_constant (tag 111)
-    ==================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_2308                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Set_deposits_limit (tag 112)
-    ============================
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | Tag                         | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------+----------------------+-------------------------------------+
-    | source                      | 21 bytes             | $public_key_hash                    |
-    +-----------------------------+----------------------+-------------------------------------+
-    | fee                         | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | counter                     | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | gas_limit                   | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | storage_limit               | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | limit                       | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | metadata                    | Determined from data | $X_1474                             |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    Increase_paid_storage (tag 113)
-    ===============================
-
-    +---------------+----------------------+--------------------------------------+
-    | Name          | Size                 | Contents                             |
-    +===============+======================+======================================+
-    | Tag           | 1 byte               | unsigned 8-bit integer               |
-    +---------------+----------------------+--------------------------------------+
-    | source        | 21 bytes             | $public_key_hash                     |
-    +---------------+----------------------+--------------------------------------+
-    | fee           | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | counter       | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | gas_limit     | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | storage_limit | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | amount        | Determined from data | $Z.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | destination   | 22 bytes             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-    | metadata      | Determined from data | $X_605                               |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1474                |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | entrypoint            | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1750                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_originate (tag 200)
-    ================================
-
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | Name                            | Size                 | Contents                                                  |
-    +=================================+======================+===========================================================+
-    | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | source                          | 21 bytes             | $public_key_hash                                          |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | fee                             | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | counter                         | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | gas_limit                       | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | storage_limit                   | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # bytes in next field           | 4 bytes              | unsigned 30-bit 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | metadata                        | Determined from data | $X_1610                                                   |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1474                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1339                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1199                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_900                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_900                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | output_proof          | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_745                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_recover_bond (tag 207)
-    ===================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | staker        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_605                 |
-    +---------------+----------------------+------------------------+
-
-
-    Dal_publish_commitment (tag 230)
-    ================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | slot_header   | 145 bytes            | $X_17                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_469                 |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | metadata              | Determined from data | $X_328                                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    Zk_rollup_publish (tag 251)
-    ===========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | zk_rollup             | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op                    | Variable             | sequence of $X_8                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_185                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_39                  |
-    +---------------+----------------------+------------------------+
-
-
-    X_3145 (Variable, 8-bit tag)
-    ****************************
-
-    Operation_with_metadata (tag 0)
-    ===============================
-
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                |
-    +=======================+==========+=========================================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                                                  |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.operation_contents_and_result |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | signature             | Variable | bytes                                                                   |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-
-
-    Operation_without_metadata (tag 1)
-    ==================================
-
-    +-----------------------+----------+----------------------------------------------------+
-    | Name                  | Size     | Contents                                           |
-    +=======================+==========+====================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                             |
-    +-----------------------+----------+----------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                 |
-    +-----------------------+----------+----------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.contents |
-    +-----------------------+----------+----------------------------------------------------+
-    | signature             | Variable | bytes                                              |
-    +-----------------------+----------+----------------------------------------------------+
-
-
-    bls_signature_prefix (33 bytes, 8-bit tag)
-    ******************************************
-
-    Bls_prefix (tag 3)
-    ==================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | 32 bytes | bytes                  |
-    +-----------------+----------+------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_30                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_17                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_8                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-
-
-    Signature_prefix (tag 255)
-    ==========================
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | Tag              | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | signature_prefix | 33 bytes | $bls_signature_prefix  |
-    +------------------+----------+------------------------+
-
-
-    X_3208 (Variable, 8-bit tag)
-    ****************************
-
-    Operation with too large metadata (tag 0)
-    =========================================
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | Tag                           | 1 byte   | unsigned 8-bit integer                                                 |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-
-    Operation without metadata (tag 1)
-    ==================================
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | Tag                           | 1 byte   | unsigned 8-bit integer                                                 |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-
-    Operation with metadata (tag 2)
-    ===============================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | Variable | $X_3145                |
-    +-----------------+----------+------------------------+
-
-
-    operation
-    *********
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | chain_id              | 4 bytes  | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | hash                  | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | branch                | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | $X_3208                            |
-    +-----------------------+----------+------------------------------------+
-
-    
-
- - -.. _GET_..--block_id--operations--list_offset--operation_offset : - -**GET ..//operations//?[version=]&[force_metadata]&[metadata=]** - -.. raw:: html - -
- - -
-

- The `m-th` operation in the `n-th` validation pass of the block.

Optional query arguments :

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

-
-
-
-    $operation /* operation_encoding_v1 */
-    $021-PsQuebec.adaptive_issuance_vote: "on" || "off" || "pass"
-    $021-PsQuebec.apply_internal_results.alpha.operation_result:
-      { /* transaction */
-        "kind": "transaction",
-        "source": $021-PsQuebec.transaction_destination,
-        "nonce": integer ∈ [0, 2^16-1],
-        "amount": $021-PsQuebec.mutez,
-        "destination": $021-PsQuebec.transaction_destination,
-        "parameters"?: { "entrypoint": $021-PsQuebec.entrypoint,
-                         "value": any },
-        "result":
-          $021-PsQuebec.operation.alpha.internal_operation_result.transaction }
-      || { /* origination */
-           "kind": "origination",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.origination }
-      || { /* delegation */
-           "kind": "delegation",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?: $Signature.Public_key_hash,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.delegation }
-      || { /* event */
-           "kind": "event",
-           "source": $021-PsQuebec.transaction_destination,
-           "nonce": integer ∈ [0, 2^16-1],
-           "type": $micheline.021-PsQuebec.michelson_v1.expression,
-           "tag"?: $021-PsQuebec.entrypoint,
-           "payload"?: $micheline.021-PsQuebec.michelson_v1.expression,
-           "result":
-             $021-PsQuebec.operation.alpha.internal_operation_result.event }
-    $021-PsQuebec.big_map_id:
-      /* Big map identifier
-         A big map identifier */
-      $bignum
-    $021-PsQuebec.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": $021-PsQuebec.liquidity_baking_vote,
-        "adaptive_issuance_vote": $021-PsQuebec.adaptive_issuance_vote,
-        "signature": $Signature.V1 }
-    $021-PsQuebec.bond_id:
-      { /* Smart_rollup_bond_id */
-        "smart_rollup": $smart_rollup_address }
-    $021-PsQuebec.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
-    $021-PsQuebec.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
-    $021-PsQuebec.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 */
-    $021-PsQuebec.error:
-      /* The full list of RPC errors would be too long to include.
-         It is available at RPC `/errors` (GET).
-         Errors specific to protocol Alpha have an id that starts with
-         `proto.alpha`. */
-      any
-    $021-PsQuebec.frozen_staker:
-      /* frozen_staker
-         Abstract notion of staker used in operation receipts for frozen
-         deposits, either a single staker or all the stakers delegating to some
-         delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-      || { /* Baker */
-           "baker_own_stake": $Signature.Public_key_hash }
-      || { /* Baker_edge */
-           "baker_edge": $Signature.Public_key_hash }
-    $021-PsQuebec.inlined.attestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.attestation_mempool.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.inlined.preattestation:
-      /* An operation's shell header. */
-      { "branch": $block_hash,
-        "operations": $021-PsQuebec.inlined.preattestation.contents,
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.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 }
-    $021-PsQuebec.lazy_storage_diff:
-      [ { /* big_map */
-          "kind": "big_map",
-          "id": $021-PsQuebec.big_map_id,
-          "diff":
-            { /* update */
-              "action": "update",
-              "updates":
-                [ { "key_hash": $script_expr,
-                    "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                    "value"?: $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* remove */
-                 "action": "remove" }
-            || { /* copy */
-                 "action": "copy",
-                 "source": $021-PsQuebec.big_map_id,
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ] }
-            || { /* alloc */
-                 "action": "alloc",
-                 "updates":
-                   [ { "key_hash": $script_expr,
-                       "key": $micheline.021-PsQuebec.michelson_v1.expression,
-                       "value"?:
-                         $micheline.021-PsQuebec.michelson_v1.expression } ... ],
-                 "key_type": $micheline.021-PsQuebec.michelson_v1.expression,
-                 "value_type": $micheline.021-PsQuebec.michelson_v1.expression } }
-        || { /* sapling_state */
-             "kind": "sapling_state",
-             "id": $021-PsQuebec.sapling_state_id,
-             "diff":
-               { /* update */
-                 "action": "update",
-                 "updates":
-                   { "commitments_and_ciphertexts":
-                       [ [ $sapling.transaction.commitment,
-                           $sapling.transaction.ciphertext ] ... ],
-                     "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* remove */
-                    "action": "remove" }
-               || { /* copy */
-                    "action": "copy",
-                    "source": $021-PsQuebec.sapling_state_id,
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] } }
-               || { /* alloc */
-                    "action": "alloc",
-                    "updates":
-                      { "commitments_and_ciphertexts":
-                          [ [ $sapling.transaction.commitment,
-                              $sapling.transaction.ciphertext ] ... ],
-                        "nullifiers": [ $sapling.transaction.nullifier ... ] },
-                    "memo_size": integer ∈ [0, 2^16-1] } } ... ]
-    $021-PsQuebec.liquidity_baking_vote: "on" || "off" || "pass"
-    $021-PsQuebec.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"
-    $021-PsQuebec.mutez: $positive_bignum
-    $021-PsQuebec.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": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.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": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ] }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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])*$/ } }
-    $021-PsQuebec.operation.alpha.contents_and_signature:
-      { "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1 }
-    $021-PsQuebec.operation.alpha.internal_operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.internal_operation_result.event:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.internal_operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.internal_operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_receipt"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_receipt":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_contents_and_result:
-      { /* Attestation */
-        "kind": "attestation",
-        "slot": integer ∈ [0, 2^16-1],
-        "level": integer ∈ [0, 2^31],
-        "round": integer ∈ [-2^31-1, 2^31],
-        "block_payload_hash": $value_hash,
-        "metadata":
-          { "balance_updates"?:
-              $021-PsQuebec.operation_metadata.alpha.balance_updates,
-            "delegate": $Signature.Public_key_hash,
-            "consensus_power": integer ∈ [-2^30, 2^30],
-            "consensus_key": $Signature.Public_key_hash } }
-      || { /* Attestation_with_dal */
-           "kind": "attestation_with_dal",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "dal_attestation": $bignum,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Preattestation */
-           "kind": "preattestation",
-           "slot": integer ∈ [0, 2^16-1],
-           "level": integer ∈ [0, 2^31],
-           "round": integer ∈ [-2^31-1, 2^31],
-           "block_payload_hash": $value_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "delegate": $Signature.Public_key_hash,
-               "consensus_power": integer ∈ [-2^30, 2^30],
-               "consensus_key": $Signature.Public_key_hash } }
-      || { /* Double_attestation_evidence */
-           "kind": "double_attestation_evidence",
-           "op1": $021-PsQuebec.inlined.attestation,
-           "op2": $021-PsQuebec.inlined.attestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_preattestation_evidence */
-           "kind": "double_preattestation_evidence",
-           "op1": $021-PsQuebec.inlined.preattestation,
-           "op2": $021-PsQuebec.inlined.preattestation,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Seed_nonce_revelation */
-           "kind": "seed_nonce_revelation",
-           "level": integer ∈ [0, 2^31],
-           "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Vdf_revelation */
-           "kind": "vdf_revelation",
-           "solution":
-             [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Double_baking_evidence */
-           "kind": "double_baking_evidence",
-           "bh1": $021-PsQuebec.block_header.alpha.full_header,
-           "bh2": $021-PsQuebec.block_header.alpha.full_header,
-           "metadata":
-             { "forbidden_delegate"?: $Signature.Public_key_hash,
-               "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Activate_account */
-           "kind": "activate_account",
-           "pkh": $Ed25519.Public_key_hash,
-           "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates } }
-      || { /* Proposals */
-           "kind": "proposals",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposals": [ $Protocol_hash ... ],
-           "metadata": {  } }
-      || { /* Ballot */
-           "kind": "ballot",
-           "source": $Signature.Public_key_hash,
-           "period": integer ∈ [-2^31-1, 2^31],
-           "proposal": $Protocol_hash,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { /* Drain_delegate */
-           "kind": "drain_delegate",
-           "consensus_key": $Signature.Public_key_hash,
-           "delegate": $Signature.Public_key_hash,
-           "destination": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "allocated_destination_contract"?: boolean } }
-      || { /* Reveal */
-           "kind": "reveal",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_key": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transaction */
-           "kind": "transaction",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $021-PsQuebec.mutez,
-           "destination": $021-PsQuebec.contract_id,
-           "parameters"?:
-             { "entrypoint": $021-PsQuebec.entrypoint,
-               "value": any },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Origination */
-           "kind": "origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "balance": $021-PsQuebec.mutez,
-           "delegate"?: $Signature.Public_key_hash,
-           "script": $021-PsQuebec.scripted.contracts,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Delegation */
-           "kind": "delegation",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "delegate"?: $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Register_global_constant */
-           "kind": "register_global_constant",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "value": any,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.register_global_constant,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Set_deposits_limit */
-           "kind": "set_deposits_limit",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "limit"?: $021-PsQuebec.mutez,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Increase_paid_storage */
-           "kind": "increase_paid_storage",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "amount": $bignum,
-           "destination": $021-PsQuebec.contract_id.originated,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Update_consensus_key */
-           "kind": "update_consensus_key",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pk": $Signature.Public_key,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.update_consensus_key,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Transfer_ticket */
-           "kind": "transfer_ticket",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "ticket_contents": any,
-           "ticket_ty": any,
-           "ticket_ticketer": $021-PsQuebec.contract_id,
-           "ticket_amount": $positive_bignum,
-           "destination": $021-PsQuebec.contract_id,
-           "entrypoint": $unistring,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.transfer_ticket,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Dal_publish_commitment */
-           "kind": "dal_publish_commitment",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "slot_header":
-             { "slot_index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment,
-               "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_originate */
-           "kind": "smart_rollup_originate",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
-           "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "parameters_ty": any,
-           "whitelist"?: [ $Signature.Public_key_hash ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_add_messages */
-           "kind": "smart_rollup_add_messages",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_cement */
-           "kind": "smart_rollup_cement",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_publish */
-           "kind": "smart_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "commitment":
-             { "compressed_state": $smart_rollup_state_hash,
-               "inbox_level": integer ∈ [0, 2^31],
-               "predecessor": $smart_rollup_commitment_hash,
-               "number_of_ticks": $int64 },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_refute */
-           "kind": "smart_rollup_refute",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "opponent": $Signature.Public_key_hash,
-           "refutation":
-             { /* Start */
-               "refutation_kind": "start",
-               "player_commitment_hash": $smart_rollup_commitment_hash,
-               "opponent_commitment_hash": $smart_rollup_commitment_hash }
-             || { /* Move */
-                  "refutation_kind": "move",
-                  "choice": $positive_bignum,
-                  "step":
-                    [ { "state"?: $smart_rollup_state_hash,
-                        "tick": $positive_bignum } ... ]
-                    /* Dissection */
-                    || { /* Proof */
-                         "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                         "input_proof"?:
-                           { /* inbox proof */
-                             "input_proof_kind": "inbox_proof",
-                             "level": integer ∈ [0, 2^31],
-                             "message_counter": $positive_bignum,
-                             "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                           || { /* reveal proof */
-                                "input_proof_kind": "reveal_proof",
-                                "reveal_proof":
-                                  { /* raw data proof */
-                                    "reveal_proof_kind": "raw_data_proof",
-                                    "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* metadata proof */
-                                       "reveal_proof_kind": "metadata_proof" }
-                                  || { /* dal page proof */
-                                       "reveal_proof_kind": "dal_page_proof",
-                                       "dal_page_id":
-                                         { "published_level":
-                                             integer ∈ [0, 2^31],
-                                           "slot_index": integer ∈ [0, 255],
-                                           "page_index":
-                                             integer ∈ [-2^15, 2^15-1] },
-                                       "dal_proof":
-                                         /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-                                  || { /* dal parameters proof */
-                                       "reveal_proof_kind":
-                                         "dal_parameters_proof" } }
-                           || { /* first input */
-                                "input_proof_kind": "first_input" } } },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_timeout */
-           "kind": "smart_rollup_timeout",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "stakers":
-             { "alice": $Signature.Public_key_hash,
-               "bob": $Signature.Public_key_hash },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_execute_outbox_message */
-           "kind": "smart_rollup_execute_outbox_message",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "cemented_commitment": $smart_rollup_commitment_hash,
-           "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Smart_rollup_recover_bond */
-           "kind": "smart_rollup_recover_bond",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "rollup": $smart_rollup_address,
-           "staker": $Signature.Public_key_hash,
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_origination */
-           "kind": "zk_rollup_origination",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-           "circuits_info":
-             [ [ $unistring,
-                 { /* Public */
-                   "public": any }
-                 || { /* Private */
-                      "private": any }
-                 || { /* Fee */
-                      "fee": any } ] ... ],
-           "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-           "nb_ops": integer ∈ [-2^30, 2^30],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_publish */
-           "kind": "zk_rollup_publish",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.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.021-PsQuebec.michelson_v1.expression,
-                   "ty": $micheline.021-PsQuebec.michelson_v1.expression,
-                   "ticketer": $021-PsQuebec.contract_id }
-                 || null
-                 /* None */ ] ... ],
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-      || { /* Zk_rollup_update */
-           "kind": "zk_rollup_update",
-           "source": $Signature.Public_key_hash,
-           "fee": $021-PsQuebec.mutez,
-           "counter": $positive_bignum,
-           "gas_limit": $positive_bignum,
-           "storage_limit": $positive_bignum,
-           "zk_rollup": $Zk_rollup_hash,
-           "update":
-             { "pending_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-                       "exit_validity": boolean } ] ... ],
-               "private_pis":
-                 [ [ $unistring,
-                     { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
-                       "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
-               "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
-               "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
-           "metadata":
-             { "balance_updates"?:
-                 $021-PsQuebec.operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update,
-               "internal_operation_results"?:
-                 [ $021-PsQuebec.apply_internal_results.alpha.operation_result ... ] } }
-    $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment:
-      { /* Applied */
-        "status": "applied",
-        "slot_header":
-          { /* v0 */
-            "version": "0",
-            "level": integer ∈ [0, 2^31],
-            "index": integer ∈ [0, 255],
-            "commitment": $DAL_commitment },
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "slot_header":
-             { /* v0 */
-               "version": "0",
-               "level": integer ∈ [0, 2^31],
-               "index": integer ∈ [0, 255],
-               "commitment": $DAL_commitment },
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.delegation:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.increase_paid_storage:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_contracts"?:
-             [ $021-PsQuebec.contract_id.originated ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "paid_storage_size_diff"?: $bignum,
-           "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-    $021-PsQuebec.operation.alpha.operation_result.register_global_constant:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "global_address": $script_expr }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates"?:
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "storage_size"?: $bignum,
-           "global_address": $script_expr }
-    $021-PsQuebec.operation.alpha.operation_result.reveal:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.set_deposits_limit:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "inbox_level": integer ∈ [0, 2^31],
-        "commitment_hash": $smart_rollup_commitment_hash }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "inbox_level": integer ∈ [0, 2^31],
-           "commitment_hash": $smart_rollup_commitment_hash }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "whitelist_update"?:
-          { /* Public */
-            "kind": "public" }
-          || { /* Private */
-               "kind": "update",
-               "whitelist": [ $Signature.Public_key_hash ... ] },
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "whitelist_update"?:
-             { /* Public */
-               "kind": "public" }
-             || { /* Private */
-                  "kind": "update",
-                  "whitelist": [ $Signature.Public_key_hash ... ] },
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "address": $smart_rollup_address,
-        "genesis_commitment_hash": $smart_rollup_commitment_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "address": $smart_rollup_address,
-           "genesis_commitment_hash": $smart_rollup_commitment_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "staked_hash": $smart_rollup_commitment_hash,
-        "published_at_level": integer ∈ [0, 2^31],
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "staked_hash": $smart_rollup_commitment_hash,
-           "published_at_level": integer ∈ [0, 2^31],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum,
-        "game_status":
-          "ongoing"
-          || { /* Ended */
-               "result":
-                 { /* Loser */
-                   "kind": "loser",
-                   "reason": "conflict_resolved" || "timeout",
-                   "player": $Signature.Public_key_hash }
-                 || { /* Draw */
-                      "kind": "draw" } },
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "game_status":
-             "ongoing"
-             || { /* Ended */
-                  "result":
-                    { /* Loser */
-                      "kind": "loser",
-                      "reason": "conflict_resolved" || "timeout",
-                      "player": $Signature.Public_key_hash }
-                    || { /* Draw */
-                         "kind": "draw" } },
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates }
-    $021-PsQuebec.operation.alpha.operation_result.transaction:
-      /* Applied */
-      { /* To_contract */
-        "status": "applied",
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "applied",
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || /* Backtracked */
-      { /* To_contract */
-        "status": "backtracked",
-        "errors"?: [ $021-PsQuebec.error ... ],
-        "storage"?: $micheline.021-PsQuebec.michelson_v1.expression,
-        "balance_updates"?:
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates"?:
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "originated_contracts"?: [ $021-PsQuebec.contract_id.originated ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "storage_size"?: $bignum,
-        "paid_storage_size_diff"?: $bignum,
-        "allocated_destination_contract"?: boolean,
-        "lazy_storage_diff"?: $021-PsQuebec.lazy_storage_diff }
-      || { /* To_smart_rollup */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ] }
-    $021-PsQuebec.operation.alpha.operation_result.transfer_ticket:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "ticket_updates":
-          [ { "ticket_token":
-                { "ticketer": $021-PsQuebec.contract_id,
-                  "content_type":
-                    $micheline.021-PsQuebec.michelson_v1.expression,
-                  "content": $micheline.021-PsQuebec.michelson_v1.expression },
-              "updates":
-                [ { "account": $021-PsQuebec.transaction_destination,
-                    "amount": $bignum } ... ] } ... ],
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "ticket_updates":
-             [ { "ticket_token":
-                   { "ticketer": $021-PsQuebec.contract_id,
-                     "content_type":
-                       $micheline.021-PsQuebec.michelson_v1.expression,
-                     "content": $micheline.021-PsQuebec.michelson_v1.expression },
-                 "updates":
-                   [ { "account": $021-PsQuebec.transaction_destination,
-                       "amount": $bignum } ... ] } ... ],
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.update_consensus_key:
-      { /* Applied */
-        "status": "applied",
-        "consumed_milligas"?: $positive_bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "consumed_milligas"?: $positive_bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "originated_zk_rollup": $Zk_rollup_hash,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "originated_zk_rollup": $Zk_rollup_hash,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "size": $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "size": $bignum }
-    $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update:
-      { /* Applied */
-        "status": "applied",
-        "balance_updates":
-          $021-PsQuebec.operation_metadata.alpha.balance_updates,
-        "consumed_milligas"?: $positive_bignum,
-        "paid_storage_size_diff"?: $bignum }
-      || { /* Failed */
-           "status": "failed",
-           "errors": [ $021-PsQuebec.error ... ] }
-      || { /* Skipped */
-           "status": "skipped" }
-      || { /* Backtracked */
-           "status": "backtracked",
-           "errors"?: [ $021-PsQuebec.error ... ],
-           "balance_updates":
-             $021-PsQuebec.operation_metadata.alpha.balance_updates,
-           "consumed_milligas"?: $positive_bignum,
-           "paid_storage_size_diff"?: $bignum }
-    $021-PsQuebec.operation.alpha.operation_with_metadata:
-      { /* Operation_with_metadata */
-        "contents":
-          [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-        "signature"?: $Signature.V1 }
-      || { /* Operation_without_metadata */
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-    $021-PsQuebec.operation_metadata.alpha.balance_updates:
-      [ { /* Contract */
-          "kind": "contract",
-          "contract": $021-PsQuebec.contract_id,
-          "change": $int64,
-          "origin": "block" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Contract */
-             "kind": "contract",
-             "contract": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Block_fees */
-             "kind": "accumulator",
-             "category": "block fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Deposits */
-             "kind": "freezer",
-             "category": "deposits",
-             "staker": $021-PsQuebec.frozen_staker,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Nonce_revelation_rewards */
-             "kind": "minted",
-             "category": "nonce revelation rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Attesting_rewards */
-             "kind": "minted",
-             "category": "attesting rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_rewards */
-             "kind": "minted",
-             "category": "baking rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Baking_bonuses */
-             "kind": "minted",
-             "category": "baking bonuses",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Storage_fees */
-             "kind": "burned",
-             "category": "storage fees",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Double_signing_punishments */
-             "kind": "burned",
-             "category": "punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Lost_attesting_rewards */
-             "kind": "burned",
-             "category": "lost attesting rewards",
-             "delegate": $Signature.Public_key_hash,
-             "participation": boolean,
-             "revelation": boolean,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Liquidity_baking_subsidies */
-             "kind": "minted",
-             "category": "subsidy",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Burned */
-             "kind": "burned",
-             "category": "burned",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Commitments */
-             "kind": "commitment",
-             "category": "commitment",
-             "committer": $Blinded public key hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Bootstrap */
-             "kind": "minted",
-             "category": "bootstrap",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Invoice */
-             "kind": "minted",
-             "category": "invoice",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Initial_commitments */
-             "kind": "minted",
-             "category": "commitment",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Minted */
-             "kind": "minted",
-             "category": "minted",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Frozen_bonds */
-             "kind": "freezer",
-             "category": "bonds",
-             "contract": $021-PsQuebec.contract_id,
-             "bond_id": $021-PsQuebec.bond_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_punishments */
-             "kind": "burned",
-             "category": "smart_rollup_refutation_punishments",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "block" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Smart_rollup_refutation_rewards */
-             "kind": "minted",
-             "category": "smart_rollup_refutation_rewards",
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "block" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Unstaked_deposits */
-             "kind": "freezer",
-             "category": "unstaked_deposits",
-             "staker": $021-PsQuebec.staker,
-             "cycle": integer ∈ [-2^31-1, 2^31],
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegator_numerator */
-             "kind": "staking",
-             "category": "delegator_numerator",
-             "delegator": $021-PsQuebec.contract_id,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "block" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "migration" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "subsidy" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "simulation" }
-        || { /* Staking_delegate_denominator */
-             "kind": "staking",
-             "category": "delegate_denominator",
-             "delegate": $Signature.Public_key_hash,
-             "change": $int64,
-             "origin": "delayed_operation",
-             "delayed_operation_hash": $Operation_hash } ... ]
-    $021-PsQuebec.sapling_state_id:
-      /* Sapling state identifier
-         A sapling state identifier */
-      $bignum
-    $021-PsQuebec.scripted.contracts: { "code": any,
-                                        "storage": any }
-    $021-PsQuebec.staker:
-      /* unstaked_frozen_staker
-         Abstract notion of staker used in operation receipts for unstaked
-         frozen deposits, either a single staker or all the stakers delegating
-         to some delegate. */
-      { /* Single */
-        "contract": $021-PsQuebec.contract_id,
-        "delegate": $Signature.Public_key_hash }
-      || { /* Shared */
-           "delegate": $Signature.Public_key_hash }
-    $021-PsQuebec.transaction_destination:
-      /* A destination of a transaction
-         A destination notation compatible with the contract notation as given
-         to an RPC or inside scripts. Can be a base58 implicit contract hash, a
-         base58 originated contract hash, a base58 originated transaction
-         rollup, or a base58 originated smart rollup. */
-      $unistring
-    $Blinded public key hash:
-      /* A blinded public key hash (Base58Check-encoded) */
-      $unistring
-    $Chain_id:
-      /* Network identifier (Base58Check-encoded) */
-      $unistring
-    $Context_hash:
-      /* A hash of context (Base58Check-encoded) */
-      $unistring
-    $DAL_commitment:
-      /* Commitment representation for the DAL (Base58Check-encoded) */
-      $unistring
-    $Ed25519.Public_key_hash:
-      /* An Ed25519 public key hash (Base58Check-encoded) */
-      $unistring
-    $Operation_hash:
-      /* A Tezos operation ID (Base58Check-encoded) */
-      $unistring
-    $Operation_list_list_hash:
-      /* A list of list of operations (Base58Check-encoded) */
-      $unistring
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key:
-      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
-      $unistring
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $Signature.V1:
-      /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
-      $unistring
-    $Zk_rollup_hash:
-      /* A zk rollup address (Base58Check-encoded) */
-      $unistring
-    $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.021-PsQuebec.michelson_v1.expression:
-      { /* Int */
-        "int": $bignum }
-      || { /* String */
-           "string": $unistring }
-      || { /* Bytes */
-           "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-      || [ $micheline.021-PsQuebec.michelson_v1.expression ... ]
-      /* Sequence */
-      || { /* Prim__generic
-              Generic primitive (any number of args with or without
-              annotations) */
-           "prim": $021-PsQuebec.michelson.v1.primitives,
-           "args"?: [ $micheline.021-PsQuebec.michelson_v1.expression ... ],
-           "annots"?: [ $unistring ... ] }
-    $operation:
-      { /* An operation's shell header. */
-        "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-        "chain_id": $Chain_id,
-        "hash": $Operation_hash,
-        "branch": $block_hash,
-        "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-        "signature"?: $Signature.V1,
-        "metadata": "too large" }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents":
-             [ $021-PsQuebec.operation.alpha.operation_contents_and_result ... ],
-           "signature"?: $Signature.V1 }
-      || { /* An operation's shell header. */
-           "protocol": "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg",
-           "chain_id": $Chain_id,
-           "hash": $Operation_hash,
-           "branch": $block_hash,
-           "contents": [ $021-PsQuebec.operation.alpha.contents ... ],
-           "signature"?: $Signature.V1 }
-    $positive_bignum:
-      /* Positive big number
-         Decimal representation of a positive big number */
-      string
-    $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.ciphertext:
-      { "cv": $sapling.transaction.commitment_value,
-        "epk": $sapling.DH.epk,
-        "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
-        "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
-    $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
-    $script_expr:
-      /* A script expression ID (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_address:
-      /* A smart rollup address (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_commitment_hash:
-      /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $smart_rollup_state_hash:
-      /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
-      $unistring
-    $timestamp.protocol:
-      /* A timestamp as seen by the protocol: second-level precision, epoch
-         based. */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-    $value_hash:
-      /* Hash of a consensus value (Base58Check-encoded) */
-      $unistring
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | chain_id              | 4 bytes  | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | hash                  | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | branch                | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | $X_3208                            |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    N.t
-    ***
-
-    A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.
-
-    +------+----------------------+----------+
-    | Name | Size                 | Contents |
-    +======+======================+==========+
-    | N.t  | Determined from data | bytes    |
-    +------+----------------------+----------+
-
-
-    X_2
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3
-    ***
-
-    +-----------------------+----------+-------------------------------------+
-    | 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_1
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_3     |
-    +-----------------+----------------------+----------+
-
-
-    X_6
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | new_state             | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-    | fee                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_4
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_6     |
-    +-----------------+----------------------+----------+
-
-
-    X_7
-    ***
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of bytes                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | pending_pis           | Variable             | sequence of $X_1                   |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | private_pis           | Variable             | sequence of $X_4                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee_pi                | Determined from data | $X_7                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # 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_10
-    ****
-
-    +--------+----------------------+----------+
-    | Name   | Size                 | Contents |
-    +========+======================+==========+
-    | id     | 32 bytes             | bytes    |
-    +--------+----------------------+----------+
-    | amount | Determined from data | $Z.t     |
-    +--------+----------------------+----------+
-
-
-    X_9
-    ***
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | op_code               | 4 bytes              | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | price                 | Determined from data | $X_10                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | l1_dst                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | rollup_id             | 20 bytes             | bytes                                                                   |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | payload               | Variable             | sequence of bytes                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.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.021-PsQuebec.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.021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg                   | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1 | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2 | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg1                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression                                           |
-    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
-    | arg2                  | Determined from data | $micheline.021-PsQuebec.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 021-PsQuebec.michelson.v1.primitives) |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                                        |
-    +-----------------------+----------+-------------------------------------------------------------------------------------------+
-    | args                  | Variable | sequence of $micheline.021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.contract_id (22 bytes, 8-bit tag)
-    **********************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    X_13 (Determined from data, 8-bit tag)
-    **************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +----------+----------------------+-------------------------------------------------+
-    | Name     | Size                 | Contents                                        |
-    +==========+======================+=================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                          |
-    +----------+----------------------+-------------------------------------------------+
-    | contents | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ty       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +----------+----------------------+-------------------------------------------------+
-    | ticketer | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +----------+----------------------+-------------------------------------------------+
-
-
-    X_8
-    ***
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_9     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_13    |
-    +-----------------+----------------------+----------+
-
-
-    X_16 (1 byte, 8-bit tag)
-    ************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Fee (tag 2)
-    ===========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_14
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_2     |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | 1 byte               | $X_16    |
-    +-----------------+----------------------+----------+
-
-
-    X_17
-    ****
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | slot_index       | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | commitment       | 48 bytes | bytes                  |
-    +------------------+----------+------------------------+
-    | commitment_proof | 96 bytes | bytes                  |
-    +------------------+----------+------------------------+
-
-
-    X_18
-    ****
-
-    +-------+----------+------------------+
-    | Name  | Size     | Contents         |
-    +=======+==========+==================+
-    | alice | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-    | bob   | 21 bytes | $public_key_hash |
-    +-------+----------+------------------+
-
-
-    X_19
-    ****
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | published_level | 4 bytes | signed 32-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-    | slot_index      | 1 byte  | unsigned 8-bit integer           |
-    +-----------------+---------+----------------------------------+
-    | page_index      | 2 bytes | signed 16-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    X_20 (Determined from data, 8-bit tag)
-    **************************************
-
-    raw data proof (tag 0)
-    ======================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 2 bytes  | unsigned 16-bit 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_19                              |
-    +-----------------------+----------+------------------------------------+
-    | # 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_21 (Determined from data, 8-bit tag)
-    **************************************
-
-    inbox proof (tag 0)
-    ===================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | level                 | 4 bytes              | signed 32-bit 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_20                  |
-    +--------------+----------------------+------------------------+
-
-
-    first input (tag 2)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_22
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | state                       | 32 bytes             | bytes                               |
-    +-----------------------------+----------------------+-------------------------------------+
-    | tick                        | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    X_23 (Determined from data, 8-bit tag)
-    **************************************
-
-    Dissection (tag 0)
-    ==================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_22                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    Proof (tag 1)
-    =============
-
-    +-----------------------------------+----------------------+-------------------------------------+
-    | Name                              | Size                 | Contents                            |
-    +===================================+======================+=====================================+
-    | Tag                               | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field             | 4 bytes              | unsigned 30-bit 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_21                               |
-    +-----------------------------------+----------------------+-------------------------------------+
-
-
-    X_24 (Determined from data, 8-bit tag)
-    **************************************
-
-    Start (tag 0)
-    =============
-
-    +--------------------------+----------+------------------------+
-    | Name                     | Size     | Contents               |
-    +==========================+==========+========================+
-    | Tag                      | 1 byte   | unsigned 8-bit integer |
-    +--------------------------+----------+------------------------+
-    | player_commitment_hash   | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-    | opponent_commitment_hash | 32 bytes | bytes                  |
-    +--------------------------+----------+------------------------+
-
-
-    Move (tag 1)
-    ============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | choice | Determined from data | $N.t                   |
-    +--------+----------------------+------------------------+
-    | step   | Determined from data | $X_23                  |
-    +--------+----------------------+------------------------+
-
-
-    X_25
-    ****
-
-    +------------------+----------+----------------------------------+
-    | Name             | Size     | Contents                         |
-    +==================+==========+==================================+
-    | compressed_state | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | inbox_level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-    | predecessor      | 32 bytes | bytes                            |
-    +------------------+----------+----------------------------------+
-    | number_of_ticks  | 8 bytes  | signed 64-bit big-endian integer |
-    +------------------+----------+----------------------------------+
-
-
-    X_27 (Enumeration: unsigned 8-bit integer):
-    *******************************************
-
-    +-------------+----------------+
-    | Case number | Encoded string |
-    +=============+================+
-    | 0           | arith          |
-    +-------------+----------------+
-    | 1           | wasm_2_0_0     |
-    +-------------+----------------+
-    | 2           | riscv          |
-    +-------------+----------------+
-
-
-    X_28
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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                  |
-    +----------------------+----------+------------------------+
-
-
-    021-PsQuebec.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                |
-    +---------------+----------+------------------------+
-
-
-    021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.entrypoint (Determined from data, 8-bit tag)
-    *********************************************************
-
-    default (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    root (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    do (tag 2)
-    ==========
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate (tag 3)
-    ====================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    remove_delegate (tag 4)
-    =======================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    deposit (tag 5)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    stake (tag 6)
-    =============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    unstake (tag 7)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    finalize_unstake (tag 8)
-    ========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    set_delegate_parameters (tag 9)
-    ===============================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    named (tag 255)
-    ===============
-
-    +-----------------------+----------+------------------------+
-    | Name                  | Size     | Contents               |
-    +=======================+==========+========================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | # bytes in next field | 1 byte   | unsigned 8-bit integer |
-    +-----------------------+----------+------------------------+
-    | Unnamed field 0       | Variable | bytes                  |
-    +-----------------------+----------+------------------------+
-
-
-    X_29
-    ****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | entrypoint            | Determined from data | $021-PsQuebec.entrypoint           |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_30
-    ****
-
-    +-----------------+-----------+----------+
-    | Name            | Size      | Contents |
-    +=================+===========+==========+
-    | Unnamed field 0 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-    | Unnamed field 1 | 100 bytes | bytes    |
-    +-----------------+-----------+----------+
-
-
-    021-PsQuebec.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                              |
-    +--------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.inlined.preattestation
-    ***********************************
-
-    +------------+----------+-----------------------------------------------+
-    | Name       | Size     | Contents                                      |
-    +============+==========+===============================================+
-    | branch     | 32 bytes | bytes                                         |
-    +------------+----------+-----------------------------------------------+
-    | operations | 43 bytes | $021-PsQuebec.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                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.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 |
-    +------+--------+------------------------+
-
-
-    021-PsQuebec.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   | $021-PsQuebec.per_block_votes       |
-    +---------------------------------------+----------+-------------------------------------+
-    | signature                             | Variable | bytes                               |
-    +---------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.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                               |
-    +--------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.inlined.attestation
-    ********************************
-
-    +------------+----------------------+----------------------------------------------------+
-    | Name       | Size                 | Contents                                           |
-    +============+======================+====================================================+
-    | branch     | 32 bytes             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-    | operations | Determined from data | $021-PsQuebec.inlined.attestation_mempool.contents |
-    +------------+----------------------+----------------------------------------------------+
-    | signature  | Variable             | bytes                                              |
-    +------------+----------------------+----------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.contents (Determined from data, 8-bit tag)
-    ***********************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +-------+----------+----------------------------------+
-    | Name  | Size     | Contents                         |
-    +=======+==========+==================================+
-    | Tag   | 1 byte   | unsigned 8-bit integer           |
-    +-------+----------+----------------------------------+
-    | level | 4 bytes  | signed 32-bit 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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_30                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_17                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_8                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-
-
-    021-PsQuebec.staker (Determined from data, 8-bit tag)
-    *****************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    021-PsQuebec.bond_id (21 bytes, 8-bit tag)
-    ******************************************
-
-    Smart_rollup_bond_id (tag 1)
-    ============================
-
-    +--------------+----------+------------------------+
-    | Name         | Size     | Contents               |
-    +==============+==========+========================+
-    | Tag          | 1 byte   | unsigned 8-bit integer |
-    +--------------+----------+------------------------+
-    | smart_rollup | 20 bytes | bytes                  |
-    +--------------+----------+------------------------+
-
-
-    021-PsQuebec.frozen_staker (Determined from data, 8-bit tag)
-    ************************************************************
-
-    Single (tag 0)
-    ==============
-
-    +----------+----------+---------------------------+
-    | Name     | Size     | Contents                  |
-    +==========+==========+===========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer    |
-    +----------+----------+---------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id |
-    +----------+----------+---------------------------+
-    | delegate | 21 bytes | $public_key_hash          |
-    +----------+----------+---------------------------+
-
-
-    Shared (tag 1)
-    ==============
-
-    +----------+----------+------------------------+
-    | Name     | Size     | Contents               |
-    +==========+==========+========================+
-    | Tag      | 1 byte   | unsigned 8-bit integer |
-    +----------+----------+------------------------+
-    | delegate | 21 bytes | $public_key_hash       |
-    +----------+----------+------------------------+
-
-
-    Baker (tag 2)
-    =============
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | baker_own_stake | 21 bytes | $public_key_hash       |
-    +-----------------+----------+------------------------+
-
-
-    Baker_edge (tag 3)
-    ==================
-
-    +------------+----------+------------------------+
-    | Name       | Size     | Contents               |
-    +============+==========+========================+
-    | Tag        | 1 byte   | unsigned 8-bit integer |
-    +------------+----------+------------------------+
-    | baker_edge | 21 bytes | $public_key_hash       |
-    +------------+----------+------------------------+
-
-
-    X_41 (Determined from data, 8-bit tag)
-    **************************************
-
-    Contract (tag 0)
-    ================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Block_fees (tag 2)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Deposits (tag 4)
-    ================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.frozen_staker      |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Nonce_revelation_rewards (tag 5)
-    ================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Attesting_rewards (tag 7)
-    =========================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_rewards (tag 8)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Baking_bonuses (tag 9)
-    ======================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Storage_fees (tag 11)
-    =====================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Double_signing_punishments (tag 12)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Lost_attesting_rewards (tag 13)
-    ===============================
-
-    +---------------+----------+-------------------------------------+
-    | Name          | Size     | Contents                            |
-    +===============+==========+=====================================+
-    | Tag           | 1 byte   | unsigned 8-bit integer              |
-    +---------------+----------+-------------------------------------+
-    | delegate      | 21 bytes | $public_key_hash                    |
-    +---------------+----------+-------------------------------------+
-    | participation | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
-    +---------------+----------+-------------------------------------+
-    | change        | 8 bytes  | signed 64-bit big-endian integer    |
-    +---------------+----------+-------------------------------------+
-
-
-    Liquidity_baking_subsidies (tag 14)
-    ===================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Burned (tag 15)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Commitments (tag 16)
-    ====================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | committer | 20 bytes | bytes                            |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Bootstrap (tag 17)
-    ==================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Invoice (tag 18)
-    ================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Initial_commitments (tag 19)
-    ============================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Minted (tag 20)
-    ===============
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Frozen_bonds (tag 21)
-    =====================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | contract | 22 bytes | $021-PsQuebec.contract_id        |
-    +----------+----------+----------------------------------+
-    | bond_id  | 21 bytes | $021-PsQuebec.bond_id            |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    Smart_rollup_refutation_punishments (tag 24)
-    ============================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Smart_rollup_refutation_rewards (tag 25)
-    ========================================
-
-    +--------+---------+----------------------------------+
-    | Name   | Size    | Contents                         |
-    +========+=========+==================================+
-    | Tag    | 1 byte  | unsigned 8-bit integer           |
-    +--------+---------+----------------------------------+
-    | change | 8 bytes | signed 64-bit big-endian integer |
-    +--------+---------+----------------------------------+
-
-
-    Unstaked_deposits (tag 26)
-    ==========================
-
-    +--------+----------------------+----------------------------------+
-    | Name   | Size                 | Contents                         |
-    +========+======================+==================================+
-    | Tag    | 1 byte               | unsigned 8-bit integer           |
-    +--------+----------------------+----------------------------------+
-    | staker | Determined from data | $021-PsQuebec.staker             |
-    +--------+----------------------+----------------------------------+
-    | cycle  | 4 bytes              | signed 32-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-    | change | 8 bytes              | signed 64-bit big-endian integer |
-    +--------+----------------------+----------------------------------+
-
-
-    Staking_delegator_numerator (tag 27)
-    ====================================
-
-    +-----------+----------+----------------------------------+
-    | Name      | Size     | Contents                         |
-    +===========+==========+==================================+
-    | Tag       | 1 byte   | unsigned 8-bit integer           |
-    +-----------+----------+----------------------------------+
-    | delegator | 22 bytes | $021-PsQuebec.contract_id        |
-    +-----------+----------+----------------------------------+
-    | change    | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------+----------+----------------------------------+
-
-
-    Staking_delegate_denominator (tag 28)
-    =====================================
-
-    +----------+----------+----------------------------------+
-    | Name     | Size     | Contents                         |
-    +==========+==========+==================================+
-    | Tag      | 1 byte   | unsigned 8-bit integer           |
-    +----------+----------+----------------------------------+
-    | delegate | 21 bytes | $public_key_hash                 |
-    +----------+----------+----------------------------------+
-    | change   | 8 bytes  | signed 64-bit big-endian integer |
-    +----------+----------+----------------------------------+
-
-
-    X_42 (Determined from data, 8-bit tag)
-    **************************************
-
-    Block_application (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Protocol_migration (tag 1)
-    ==========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Subsidy (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Simulation (tag 3)
-    ==================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Delayed_operation (tag 4)
-    =========================
-
-    +------------------------+----------+------------------------+
-    | Name                   | Size     | Contents               |
-    +========================+==========+========================+
-    | Tag                    | 1 byte   | unsigned 8-bit integer |
-    +------------------------+----------+------------------------+
-    | delayed_operation_hash | 32 bytes | bytes                  |
-    +------------------------+----------+------------------------+
-
-
-    X_40
-    ****
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_41    |
-    +-----------------+----------------------+----------+
-    | Unnamed field 1 | Determined from data | $X_42    |
-    +-----------------+----------------------+----------+
-
-
-    X_43
-    ****
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
-    ************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.transaction_destination (22 bytes, 8-bit tag)
-    **********************************************************
-
-    Implicit (tag 0)
-    ================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
-    +---------------------------+----------+------------------------+
-
-
-    Originated (tag 1)
-    ==================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Contract_hash | 20 bytes | bytes                  |
-    +---------------+----------+------------------------+
-    | padding       | 1 byte   | padding                |
-    +---------------+----------+------------------------+
-
-
-    Smart_rollup (tag 3)
-    ====================
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | smart_rollup_address | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-    | padding              | 1 byte   | padding                |
-    +----------------------+----------+------------------------+
-
-
-    Zk_rollup (tag 4)
-    =================
-
-    +----------------+----------+------------------------+
-    | Name           | Size     | Contents               |
-    +================+==========+========================+
-    | Tag            | 1 byte   | unsigned 8-bit integer |
-    +----------------+----------+------------------------+
-    | Zk_rollup_hash | 20 bytes | bytes                  |
-    +----------------+----------+------------------------+
-    | padding        | 1 byte   | padding                |
-    +----------------+----------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
-    **********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    sapling.transaction.ciphertext
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | cv                    | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | epk                   | 32 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | payload_enc           | Variable | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_enc             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | payload_out           | 80 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-    | nonce_out             | 24 bytes | bytes                              |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_65
-    ****
-
-    +-----------------+----------------------+---------------------------------+
-    | Name            | Size                 | Contents                        |
-    +=================+======================+=================================+
-    | Unnamed field 0 | 32 bytes             | bytes                           |
-    +-----------------+----------------------+---------------------------------+
-    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
-    +-----------------+----------------------+---------------------------------+
-
-
-    X_64
-    ****
-
-    +-----------------------------+----------+------------------------------------+
-    | Name                        | Size     | Contents                           |
-    +=============================+==========+====================================+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | commitments_and_ciphertexts | Variable | sequence of $X_65                  |
-    +-----------------------------+----------+------------------------------------+
-    | # bytes in next field       | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------------+----------+------------------------------------+
-    | nullifiers                  | Variable | sequence of bytes                  |
-    +-----------------------------+----------+------------------------------------+
-
-
-    X_70 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_64                  |
-    +---------+----------------------+------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +---------+----------------------+------------------------+
-    | Name    | Size                 | Contents               |
-    +=========+======================+========================+
-    | Tag     | 1 byte               | unsigned 8-bit integer |
-    +---------+----------------------+------------------------+
-    | source  | Determined from data | $Z.t                   |
-    +---------+----------------------+------------------------+
-    | updates | Determined from data | $X_64                  |
-    +---------+----------------------+------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------+----------------------+------------------------------------+
-    | Name      | Size                 | Contents                           |
-    +===========+======================+====================================+
-    | Tag       | 1 byte               | unsigned 8-bit integer             |
-    +-----------+----------------------+------------------------------------+
-    | updates   | Determined from data | $X_64                              |
-    +-----------+----------------------+------------------------------------+
-    | memo_size | 2 bytes              | unsigned 16-bit big-endian integer |
-    +-----------+----------------------+------------------------------------+
-
-
-    X_71
-    ****
-
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | Name                        | Size                 | Contents                                        |
-    +=============================+======================+=================================================+
-    | key_hash                    | 32 bytes             | bytes                                           |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | key                         | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
-    +-----------------------------+----------------------+-------------------------------------------------+
-    | value                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------------+----------------------+-------------------------------------------------+
-
-
-    X_82 (Determined from data, 8-bit tag)
-    **************************************
-
-    update (tag 0)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | updates               | Variable | sequence of $X_71                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    remove (tag 1)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    copy (tag 2)
-    ============
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | Determined from data | $Z.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_71                  |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    alloc (tag 3)
-    =============
-
-    +-----------------------+----------------------+-------------------------------------------------+
-    | Name                  | Size                 | Contents                                        |
-    +=======================+======================+=================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                          |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer              |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | updates               | Variable             | sequence of $X_71                               |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | key_type              | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-    | value_type            | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +-----------------------+----------------------+-------------------------------------------------+
-
-
-    X_83 (Determined from data, 8-bit tag)
-    **************************************
-
-    big_map (tag 0)
-    ===============
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_82                  |
-    +------+----------------------+------------------------+
-
-
-    sapling_state (tag 1)
-    =====================
-
-    +------+----------------------+------------------------+
-    | Name | Size                 | Contents               |
-    +======+======================+========================+
-    | Tag  | 1 byte               | unsigned 8-bit integer |
-    +------+----------------------+------------------------+
-    | id   | Determined from data | $Z.t                   |
-    +------+----------------------+------------------------+
-    | diff | Determined from data | $X_70                  |
-    +------+----------------------+------------------------+
-
-
-    021-PsQuebec.lazy_storage_diff
-    ******************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_83                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                                            |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    X_110
-    *****
-
-    +--------------+----------------------+-------------------------------------------------+
-    | Name         | Size                 | Contents                                        |
-    +==============+======================+=================================================+
-    | ticketer     | 22 bytes             | $021-PsQuebec.contract_id                       |
-    +--------------+----------------------+-------------------------------------------------+
-    | content_type | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-    | content      | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression |
-    +--------------+----------------------+-------------------------------------------------+
-
-
-    X_113
-    *****
-
-    +---------+----------------------+---------------------------------------+
-    | Name    | Size                 | Contents                              |
-    +=========+======================+=======================================+
-    | account | 22 bytes             | $021-PsQuebec.transaction_destination |
-    +---------+----------------------+---------------------------------------+
-    | amount  | Determined from data | $Z.t                                  |
-    +---------+----------------------+---------------------------------------+
-
-
-    X_109
-    *****
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | ticket_token          | Determined from data | $X_110                             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | updates               | Variable             | sequence of $X_113                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    X_143 (Determined from data, 8-bit tag)
-    ***************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_receipt                                                           | Variable             | sequence of $X_109                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_receipt        | Variable             | sequence of $X_109                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_143                 |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_143                              |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    021-PsQuebec.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    transaction (tag 1)
-    ===================
-
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                             | Size                 | Contents                                                            |
-    +==================================+======================+=====================================================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer                                              |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                           | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                            | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | amount                           | Determined from data | $N.t                                                                |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | parameters                       | Determined from data | $X_29                                                               |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                           | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.transaction |
-    +----------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    origination (tag 2)
-    ===================
-
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                            |
-    +================================+======================+=====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                              |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                               |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                  |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | balance                        | Determined from data | $N.t                                                                |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                 |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts                                    |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination |
-    +--------------------------------+----------------------+---------------------------------------------------------------------+
-
-
-    delegation (tag 3)
-    ==================
-
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | Name                           | Size                 | Contents                                                           |
-    +================================+======================+====================================================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer                                             |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | source                         | 22 bytes             | $021-PsQuebec.transaction_destination                              |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | nonce                          | 2 bytes              | unsigned 16-bit big-endian integer                                 |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                                |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                                                   |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-    | result                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation |
-    +--------------------------------+----------------------+--------------------------------------------------------------------+
-
-
-    event (tag 4)
-    =============
-
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | Name                          | Size                 | Contents                                                      |
-    +===============================+======================+===============================================================+
-    | Tag                           | 1 byte               | unsigned 8-bit integer                                        |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | source                        | 22 bytes             | $021-PsQuebec.transaction_destination                         |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | nonce                         | 2 bytes              | unsigned 16-bit big-endian integer                            |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | type                          | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | tag                           | Determined from data | $021-PsQuebec.entrypoint                                      |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                           |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | payload                       | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression               |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-    | result                        | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event |
-    +-------------------------------+----------------------+---------------------------------------------------------------+
-
-
-    X_39
-    ****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_update         |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
-    *************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_185
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish        |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
-    *****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | originated_zk_rollup                                                     | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_328
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_474 (54 bytes, 8-bit tag)
-    ***************************
-
-    v0 (tag 0)
-    ==========
-
-    +------------+----------+----------------------------------+
-    | Name       | Size     | Contents                         |
-    +============+==========+==================================+
-    | Tag        | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | level      | 4 bytes  | signed 32-bit big-endian integer |
-    +------------+----------+----------------------------------+
-    | index      | 1 byte   | unsigned 8-bit integer           |
-    +------------+----------+----------------------------------+
-    | commitment | 48 bytes | bytes                            |
-    +------------+----------+----------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+------------------------+
-    | Name              | Size                 | Contents               |
-    +===================+======================+========================+
-    | Tag               | 1 byte               | unsigned 8-bit integer |
-    +-------------------+----------------------+------------------------+
-    | slot_header       | 54 bytes             | $X_474                 |
-    +-------------------+----------------------+------------------------+
-    | consumed_milligas | Determined from data | $N.t                   |
-    +-------------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | slot_header                  | 54 bytes             | $X_474                              |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_469
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
-    *********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_605
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                 |
-    +==========================================================================+======================+==========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                        |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                       |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------+
-
-
-    X_759 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Public (tag 0)
-    ==============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Private (tag 1)
-    ===============
-
-    +-----------+----------------------+------------------------+
-    | Name      | Size                 | Contents               |
-    +===========+======================+========================+
-    | Tag       | 1 byte               | unsigned 8-bit integer |
-    +-----------+----------------------+------------------------+
-    | whitelist | Determined from data | $X_28                  |
-    +-----------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
-    *******************************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_759                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "whitelist_update"                                   | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | whitelist_update                                                         | Determined from data | $X_759                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_745
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                           |
-    +==========================================================================+======================+====================================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result            |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-
-
-    X_905 (1 byte, 8-bit tag)
-    *************************
-
-    Conflict_resolved (tag 0)
-    =========================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Timeout (tag 1)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_906 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Loser (tag 0)
-    =============
-
-    +--------+----------+------------------------+
-    | Name   | Size     | Contents               |
-    +========+==========+========================+
-    | Tag    | 1 byte   | unsigned 8-bit integer |
-    +--------+----------+------------------------+
-    | reason | 1 byte   | $X_905                 |
-    +--------+----------+------------------------+
-    | player | 21 bytes | $public_key_hash       |
-    +--------+----------+------------------------+
-
-
-    Draw (tag 1)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_907 (Determined from data, 8-bit tag)
-    ***************************************
-
-    Ongoing (tag 0)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Ended (tag 1)
-    =============
-
-    +--------+----------------------+------------------------+
-    | Name   | Size                 | Contents               |
-    +========+======================+========================+
-    | Tag    | 1 byte               | unsigned 8-bit integer |
-    +--------+----------------------+------------------------+
-    | result | Determined from data | $X_906                 |
-    +--------+----------------------+------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | game_status                                                              | Determined from data | $X_907                             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | game_status                                                              | Determined from data | $X_907                              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_900
-    *****
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
-    ****************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer   |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | staked_hash                                                              | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | published_at_level                                                       | 4 bytes              | signed 32-bit big-endian integer    |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1199
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
-    ***************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-------------------+----------------------+----------------------------------+
-    | Name              | Size                 | Contents                         |
-    +===================+======================+==================================+
-    | Tag               | 1 byte               | unsigned 8-bit integer           |
-    +-------------------+----------------------+----------------------------------+
-    | consumed_milligas | Determined from data | $N.t                             |
-    +-------------------+----------------------+----------------------------------+
-    | inbox_level       | 4 bytes              | signed 32-bit big-endian integer |
-    +-------------------+----------------------+----------------------------------+
-    | commitment_hash   | 32 bytes             | bytes                            |
-    +-------------------+----------------------+----------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas            | Determined from data | $N.t                                |
-    +------------------------------+----------------------+-------------------------------------+
-    | inbox_level                  | 4 bytes              | signed 32-bit big-endian integer    |
-    +------------------------------+----------------------+-------------------------------------+
-    | commitment_hash              | 32 bytes             | bytes                               |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_1339
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_1474
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.event           |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
-    ******************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | address                                                                  | 20 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | genesis_commitment_hash                                                  | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | size                                                                     | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1610
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
-    ***********************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                 |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_1750
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transfer_ticket          |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
-    ********************************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | Name                                                                     | Size                 | Contents                           |
-    +==========================================================================+======================+====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer             |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                  |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                               |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                              |
-    +--------------------------------------------------------------------------+----------------------+------------------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | Name                                                                     | Size                 | Contents                            |
-    +==========================================================================+======================+=====================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors"                                             | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | errors                                                                   | Determined from data | $X_43                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-    | global_address                                                           | 32 bytes             | bytes                               |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------+
-
-
-    X_2308
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.register_global_constant |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2448
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.delegation      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2588
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.internal_operation_result.origination     |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_2808 (Determined from data, 8-bit tag)
-    ****************************************
-
-    To_contract (tag 0)
-    ===================
-
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                         |
-    +==========================================================================+======================+==================================================+
-    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                           |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage                                                                  | Determined from data | $micheline.021-PsQuebec.michelson_v1.expression  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ticket_updates                                                           | Variable             | sequence of $X_109                               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer               |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | originated_contracts                                                     | Variable             | sequence of $021-PsQuebec.contract_id.originated |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | consumed_milligas                                                        | Determined from data | $N.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | storage_size                                                             | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | paid_storage_size_diff                                                   | Determined from data | $Z.t                                             |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | allocated_destination_contract                                           | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | ? presence of field "lazy_storage_diff"                                  | 1 byte               | boolean (0 for false, 255 for true)              |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-    | lazy_storage_diff                                                        | Determined from data | $021-PsQuebec.lazy_storage_diff                  |
-    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------+
-
-
-    To_smart_rollup (tag 2)
-    =======================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | consumed_milligas     | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_updates        | Variable             | sequence of $X_109                 |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
-    *******************************************************************************************
-
-    Applied (tag 0)
-    ===============
-
-    +-----------------+----------------------+------------------------+
-    | Name            | Size                 | Contents               |
-    +=================+======================+========================+
-    | Tag             | 1 byte               | unsigned 8-bit integer |
-    +-----------------+----------------------+------------------------+
-    | Unnamed field 0 | Determined from data | $X_2808                |
-    +-----------------+----------------------+------------------------+
-
-
-    Failed (tag 1)
-    ==============
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | errors                | Variable | sequence of $X_2                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    Skipped (tag 2)
-    ===============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Backtracked (tag 3)
-    ===================
-
-    +------------------------------+----------------------+-------------------------------------+
-    | Name                         | Size                 | Contents                            |
-    +==============================+======================+=====================================+
-    | Tag                          | 1 byte               | unsigned 8-bit integer              |
-    +------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
-    +------------------------------+----------------------+-------------------------------------+
-    | errors                       | Determined from data | $X_43                               |
-    +------------------------------+----------------------+-------------------------------------+
-    | Unnamed field 0              | Determined from data | $X_2808                             |
-    +------------------------------+----------------------+-------------------------------------+
-
-
-    X_2769
-    ******
-
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size                 | Contents                                                                |
-    +==========================================================================+======================+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable             | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | operation_result                                                         | Determined from data | $021-PsQuebec.operation.alpha.operation_result.transaction              |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-    | internal_operation_results                                               | Variable             | sequence of $021-PsQuebec.apply_internal_results.alpha.operation_result |
-    +--------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    X_3107
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | Name                                                                     | Size     | Contents                                                                |
-    +==========================================================================+==========+=========================================================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                                                       |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | delegate                                                                 | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_power                                                          | 4 bytes  | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-    | consensus_key                                                            | 21 bytes | $public_key_hash                                                        |
-    +--------------------------------------------------------------------------+----------+-------------------------------------------------------------------------+
-
-
-    X_3119
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | allocated_destination_contract                                           | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation_metadata.alpha.balance_updates
-    *****************************************************
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_40                  |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_3127
-    ******
-
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | Name                                                                     | Size     | Contents                            |
-    +==========================================================================+==========+=====================================+
-    | ? presence of field "forbidden_delegate"                                 | 1 byte   | boolean (0 for false, 255 for true) |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | forbidden_delegate                                                       | 21 bytes | $public_key_hash                    |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | # bytes in field "021-PsQuebec.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit big-endian integer  |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-    | balance_updates                                                          | Variable | sequence of $X_40                   |
-    +--------------------------------------------------------------------------+----------+-------------------------------------+
-
-
-    021-PsQuebec.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
-    ********************************************************************************************
-
-    Seed_nonce_revelation (tag 1)
-    =============================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | level    | 4 bytes              | signed 32-bit big-endian integer                       |
-    +----------+----------------------+--------------------------------------------------------+
-    | nonce    | 32 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Double_attestation_evidence (tag 2)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op1                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_3127                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Double_baking_evidence (tag 3)
-    ==============================
-
-    +-----------------------+----------------------+----------------------------------------------+
-    | Name                  | Size                 | Contents                                     |
-    +=======================+======================+==============================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                       |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh1                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------------------+----------------------------------------------+
-    | bh2                   | Variable             | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------------------+----------------------------------------------+
-    | metadata              | Determined from data | $X_3127                                      |
-    +-----------------------+----------------------+----------------------------------------------+
-
-
-    Activate_account (tag 4)
-    ========================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | pkh      | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | secret   | 20 bytes             | bytes                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Proposals (tag 5)
-    =================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | source                | 21 bytes | $public_key_hash                   |
-    +-----------------------+----------+------------------------------------+
-    | period                | 4 bytes  | signed 32-bit 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             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------------------+--------------------------------------+
-    | op2                   | Variable             | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------------------+--------------------------------------+
-    | metadata              | Determined from data | $X_3127                              |
-    +-----------------------+----------------------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+----------------------+--------------------------------------------------------+
-    | Name     | Size                 | Contents                                               |
-    +==========+======================+========================================================+
-    | Tag      | 1 byte               | unsigned 8-bit integer                                 |
-    +----------+----------------------+--------------------------------------------------------+
-    | solution | 200 bytes            | $X_30                                                  |
-    +----------+----------------------+--------------------------------------------------------+
-    | metadata | Determined from data | $021-PsQuebec.operation_metadata.alpha.balance_updates |
-    +----------+----------------------+--------------------------------------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | consensus_key | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | delegate      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | destination   | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_3119                |
-    +---------------+----------------------+------------------------+
-
-
-    Preattestation (tag 20)
-    =======================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation (tag 21)
-    ====================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                              |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Attestation_with_dal (tag 23)
-    =============================
-
-    +--------------------+----------------------+------------------------------------+
-    | Name               | Size                 | Contents                           |
-    +====================+======================+====================================+
-    | Tag                | 1 byte               | unsigned 8-bit integer             |
-    +--------------------+----------------------+------------------------------------+
-    | slot               | 2 bytes              | unsigned 16-bit 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                               |
-    +--------------------+----------------------+------------------------------------+
-    | metadata           | Determined from data | $X_3107                            |
-    +--------------------+----------------------+------------------------------------+
-
-
-    Reveal (tag 107)
-    ================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | public_key    | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1474                |
-    +---------------+----------------------+------------------------+
-
-
-    Transaction (tag 108)
-    =====================
-
-    +----------------------------------+----------------------+-------------------------------------+
-    | Name                             | Size                 | Contents                            |
-    +==================================+======================+=====================================+
-    | Tag                              | 1 byte               | unsigned 8-bit integer              |
-    +----------------------------------+----------------------+-------------------------------------+
-    | source                           | 21 bytes             | $public_key_hash                    |
-    +----------------------------------+----------------------+-------------------------------------+
-    | fee                              | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | counter                          | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | gas_limit                        | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | storage_limit                    | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | amount                           | Determined from data | $N.t                                |
-    +----------------------------------+----------------------+-------------------------------------+
-    | destination                      | 22 bytes             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-    | metadata                         | Determined from data | $X_2769                             |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.scripted.contracts    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2588                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Delegation (tag 110)
-    ====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | metadata                       | Determined from data | $X_2448                             |
-    +--------------------------------+----------------------+-------------------------------------+
-
-
-    Register_global_constant (tag 111)
-    ==================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | value                 | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_2308                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Set_deposits_limit (tag 112)
-    ============================
-
-    +-----------------------------+----------------------+-------------------------------------+
-    | Name                        | Size                 | Contents                            |
-    +=============================+======================+=====================================+
-    | Tag                         | 1 byte               | unsigned 8-bit integer              |
-    +-----------------------------+----------------------+-------------------------------------+
-    | source                      | 21 bytes             | $public_key_hash                    |
-    +-----------------------------+----------------------+-------------------------------------+
-    | fee                         | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | counter                     | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | gas_limit                   | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | storage_limit               | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
-    +-----------------------------+----------------------+-------------------------------------+
-    | limit                       | Determined from data | $N.t                                |
-    +-----------------------------+----------------------+-------------------------------------+
-    | metadata                    | Determined from data | $X_1474                             |
-    +-----------------------------+----------------------+-------------------------------------+
-
-
-    Increase_paid_storage (tag 113)
-    ===============================
-
-    +---------------+----------------------+--------------------------------------+
-    | Name          | Size                 | Contents                             |
-    +===============+======================+======================================+
-    | Tag           | 1 byte               | unsigned 8-bit integer               |
-    +---------------+----------------------+--------------------------------------+
-    | source        | 21 bytes             | $public_key_hash                     |
-    +---------------+----------------------+--------------------------------------+
-    | fee           | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | counter       | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | gas_limit     | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | storage_limit | Determined from data | $N.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | amount        | Determined from data | $Z.t                                 |
-    +---------------+----------------------+--------------------------------------+
-    | destination   | 22 bytes             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-    | metadata      | Determined from data | $X_605                               |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1474                |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | entrypoint            | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1750                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_originate (tag 200)
-    ================================
-
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | Name                            | Size                 | Contents                                                  |
-    +=================================+======================+===========================================================+
-    | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | source                          | 21 bytes             | $public_key_hash                                          |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | fee                             | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | counter                         | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | gas_limit                       | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | storage_limit                   | Determined from data | $N.t                                                      |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # bytes in next field           | 4 bytes              | unsigned 30-bit 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | metadata                        | Determined from data | $X_1610                                                   |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_1474                            |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1339                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_1199                |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_900                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_900                 |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | output_proof          | Variable             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_745                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_recover_bond (tag 207)
-    ===================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | staker        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_605                 |
-    +---------------+----------------------+------------------------+
-
-
-    Dal_publish_commitment (tag 230)
-    ================================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | slot_header   | 145 bytes            | $X_17                  |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_469                 |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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 |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | metadata              | Determined from data | $X_328                                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-
-
-    Zk_rollup_publish (tag 251)
-    ===========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | zk_rollup             | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | op                    | Variable             | sequence of $X_8                   |
-    +-----------------------+----------------------+------------------------------------+
-    | metadata              | Determined from data | $X_185                             |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-    | metadata      | Determined from data | $X_39                  |
-    +---------------+----------------------+------------------------+
-
-
-    X_3145 (Variable, 8-bit tag)
-    ****************************
-
-    Operation_with_metadata (tag 0)
-    ===============================
-
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | Name                  | Size     | Contents                                                                |
-    +=======================+==========+=========================================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                                                  |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                                      |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.operation_contents_and_result |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-    | signature             | Variable | bytes                                                                   |
-    +-----------------------+----------+-------------------------------------------------------------------------+
-
-
-    Operation_without_metadata (tag 1)
-    ==================================
-
-    +-----------------------+----------+----------------------------------------------------+
-    | Name                  | Size     | Contents                                           |
-    +=======================+==========+====================================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer                             |
-    +-----------------------+----------+----------------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer                 |
-    +-----------------------+----------+----------------------------------------------------+
-    | contents              | Variable | sequence of $021-PsQuebec.operation.alpha.contents |
-    +-----------------------+----------+----------------------------------------------------+
-    | signature             | Variable | bytes                                              |
-    +-----------------------+----------+----------------------------------------------------+
-
-
-    bls_signature_prefix (33 bytes, 8-bit tag)
-    ******************************************
-
-    Bls_prefix (tag 3)
-    ==================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | 32 bytes | bytes                  |
-    +-----------------+----------+------------------------+
-
-
-    021-PsQuebec.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 | $021-PsQuebec.inlined.attestation  |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.block_header.alpha.full_header |
-    +-----------------------+----------+----------------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer           |
-    +-----------------------+----------+----------------------------------------------+
-    | bh2                   | Variable | $021-PsQuebec.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 | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer   |
-    +-----------------------+----------+--------------------------------------+
-    | op2                   | Variable | $021-PsQuebec.inlined.preattestation |
-    +-----------------------+----------+--------------------------------------+
-
-
-    Vdf_revelation (tag 8)
-    ======================
-
-    +----------+-----------+------------------------+
-    | Name     | Size      | Contents               |
-    +==========+===========+========================+
-    | Tag      | 1 byte    | unsigned 8-bit integer |
-    +----------+-----------+------------------------+
-    | solution | 200 bytes | $X_30                  |
-    +----------+-----------+------------------------+
-
-
-    Drain_delegate (tag 9)
-    ======================
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | consensus_key | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | delegate      | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-    | destination   | 21 bytes | $public_key_hash       |
-    +---------------+----------+------------------------+
-
-
-    Failing_noop (tag 17)
-    =====================
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | Tag                   | 1 byte   | unsigned 8-bit integer             |
-    +-----------------------+----------+------------------------------------+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit 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             | $021-PsQuebec.contract_id           |
-    +----------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
-    +----------------------------------+----------------------+-------------------------------------+
-    | parameters                       | Determined from data | $X_29                               |
-    +----------------------------------+----------------------+-------------------------------------+
-
-
-    Origination (tag 109)
-    =====================
-
-    +--------------------------------+----------------------+-------------------------------------+
-    | Name                           | Size                 | Contents                            |
-    +================================+======================+=====================================+
-    | Tag                            | 1 byte               | unsigned 8-bit integer              |
-    +--------------------------------+----------------------+-------------------------------------+
-    | source                         | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | fee                            | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | counter                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | gas_limit                      | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | storage_limit                  | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | balance                        | Determined from data | $N.t                                |
-    +--------------------------------+----------------------+-------------------------------------+
-    | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
-    +--------------------------------+----------------------+-------------------------------------+
-    | delegate                       | 21 bytes             | $public_key_hash                    |
-    +--------------------------------+----------------------+-------------------------------------+
-    | script                         | Determined from data | $021-PsQuebec.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             | $021-PsQuebec.contract_id.originated |
-    +---------------+----------------------+--------------------------------------+
-
-
-    Update_consensus_key (tag 114)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | pk            | Determined from data | $public_key            |
-    +---------------+----------------------+------------------------+
-
-
-    Transfer_ticket (tag 158)
-    =========================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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             | $021-PsQuebec.contract_id          |
-    +-----------------------+----------------------+------------------------------------+
-    | ticket_amount         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | destination           | 22 bytes             | $021-PsQuebec.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_27) |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-    | # 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_28                                                     |
-    +---------------------------------+----------------------+-----------------------------------------------------------+
-
-
-    Smart_rollup_add_messages (tag 201)
-    ===================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit big-endian integer |
-    +-----------------------+----------------------+------------------------------------+
-    | message               | Variable             | sequence of $X_2                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Smart_rollup_cement (tag 202)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_publish (tag 203)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | commitment    | 76 bytes             | $X_25                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_refute (tag 204)
-    =============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | opponent      | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | refutation    | Determined from data | $X_24                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_timeout (tag 205)
-    ==============================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | rollup        | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | stakers       | 42 bytes             | $X_18                  |
-    +---------------+----------------------+------------------------+
-
-
-    Smart_rollup_execute_outbox_message (tag 206)
-    =============================================
-
-    +-----------------------+----------------------+------------------------------------+
-    | Name                  | Size                 | Contents                           |
-    +=======================+======================+====================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer             |
-    +-----------------------+----------------------+------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                   |
-    +-----------------------+----------------------+------------------------------------+
-    | fee                   | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | counter               | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | gas_limit             | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | storage_limit         | Determined from data | $N.t                               |
-    +-----------------------+----------------------+------------------------------------+
-    | rollup                | 20 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | cemented_commitment   | 32 bytes             | bytes                              |
-    +-----------------------+----------------------+------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_17                  |
-    +---------------+----------------------+------------------------+
-
-
-    Zk_rollup_origination (tag 250)
-    ===============================
-
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | Name                  | Size                 | Contents                                                                |
-    +=======================+======================+=========================================================================+
-    | Tag                   | 1 byte               | unsigned 8-bit integer                                                  |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | source                | 21 bytes             | $public_key_hash                                                        |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | fee                   | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | counter               | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | gas_limit             | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | storage_limit         | Determined from data | $N.t                                                                    |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # bytes in next field | 4 bytes              | unsigned 30-bit 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_14                                                       |
-    +-----------------------+----------------------+-------------------------------------------------------------------------+
-    | # 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_8                   |
-    +-----------------------+----------------------+------------------------------------+
-
-
-    Zk_rollup_update (tag 252)
-    ==========================
-
-    +---------------+----------------------+------------------------+
-    | Name          | Size                 | Contents               |
-    +===============+======================+========================+
-    | Tag           | 1 byte               | unsigned 8-bit integer |
-    +---------------+----------------------+------------------------+
-    | source        | 21 bytes             | $public_key_hash       |
-    +---------------+----------------------+------------------------+
-    | fee           | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | counter       | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | gas_limit     | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | storage_limit | Determined from data | $N.t                   |
-    +---------------+----------------------+------------------------+
-    | zk_rollup     | 20 bytes             | bytes                  |
-    +---------------+----------------------+------------------------+
-    | update        | Determined from data | $X_0                   |
-    +---------------+----------------------+------------------------+
-
-
-    Signature_prefix (tag 255)
-    ==========================
-
-    +------------------+----------+------------------------+
-    | Name             | Size     | Contents               |
-    +==================+==========+========================+
-    | Tag              | 1 byte   | unsigned 8-bit integer |
-    +------------------+----------+------------------------+
-    | signature_prefix | 33 bytes | $bls_signature_prefix  |
-    +------------------+----------+------------------------+
-
-
-    X_3208 (Variable, 8-bit tag)
-    ****************************
-
-    Operation with too large metadata (tag 0)
-    =========================================
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | Tag                           | 1 byte   | unsigned 8-bit integer                                                 |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-
-    Operation without metadata (tag 1)
-    ==================================
-
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | Name                          | Size     | Contents                                                               |
-    +===============================+==========+========================================================================+
-    | Tag                           | 1 byte   | unsigned 8-bit integer                                                 |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | contents_and_signature_prefix | Variable | sequence of $021-PsQuebec.operation.alpha.contents_or_signature_prefix |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-    | signature_suffix              | 64 bytes | bytes                                                                  |
-    +-------------------------------+----------+------------------------------------------------------------------------+
-
-
-    Operation with metadata (tag 2)
-    ===============================
-
-    +-----------------+----------+------------------------+
-    | Name            | Size     | Contents               |
-    +=================+==========+========================+
-    | Tag             | 1 byte   | unsigned 8-bit integer |
-    +-----------------+----------+------------------------+
-    | Unnamed field 0 | Variable | $X_3145                |
-    +-----------------+----------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--operations_metadata_hash : - -**GET ..//operations_metadata_hash** - -.. raw:: html - -
- - -
- - - - - -.. _GET_..--block_id--protocols : - -**GET ..//protocols** - -.. raw:: html - -
- - -
-

- Current and next protocol.

-
-
-
-    { "protocol": $Protocol_hash,
-      "next_protocol": $Protocol_hash }
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +---------------+----------+----------+
-    | Name          | Size     | Contents |
-    +===============+==========+==========+
-    | protocol      | 32 bytes | bytes    |
-    +---------------+----------+----------+
-    | next_protocol | 32 bytes | bytes    |
-    +---------------+----------+----------+
-
-
-    
-
- - - -.. _GET_..--block_id--resulting_context_hash : - -**GET ..//resulting_context_hash** - -.. raw:: html - -
- - -
-

- Context hash resulting of the block application.

-
-
-
-    $unistring
-    /* A hash of context (Base58Check-encoded) */
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +--------------+----------+----------+
-    | Name         | Size     | Contents |
-    +==============+==========+==========+
-    | Context_hash | 32 bytes | bytes    |
-    +--------------+----------+----------+
-
-
-    
-
- - - -.. _GET_..--block_id--votes--ballot_list : - -**GET ..//votes/ballot_list** - -.. raw:: html - -
- - -
-

- Ballots casted so far during a voting period.

-
-
-
-    [ { "pkh": $Signature.Public_key_hash,
-        "ballot": "nay" | "yay" | "pass" } ... ]
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +--------+----------+----------------------+
-    | Name   | Size     | Contents             |
-    +========+==========+======================+
-    | pkh    | 21 bytes | $public_key_hash     |
-    +--------+----------+----------------------+
-    | ballot | 1 byte   | signed 8-bit integer |
-    +--------+----------+----------------------+
-
-    
-
- - - -.. _GET_..--block_id--votes--ballots : - -**GET ..//votes/ballots** - -.. raw:: html - -
- - -
-

- Sum of ballots casted so far during a voting period.

-
-
-
-    { "yay": $int64,
-      "nay": $int64,
-      "pass": $int64 }
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-
-
-
-    +------+---------+----------------------------------+
-    | Name | Size    | Contents                         |
-    +======+=========+==================================+
-    | yay  | 8 bytes | signed 64-bit big-endian integer |
-    +------+---------+----------------------------------+
-    | nay  | 8 bytes | signed 64-bit big-endian integer |
-    +------+---------+----------------------------------+
-    | pass | 8 bytes | signed 64-bit big-endian integer |
-    +------+---------+----------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--votes--current_period : - -**GET ..//votes/current_period** - -.. raw:: html - -
- - -
-

- Returns the voting period (index, kind, starting position) and related information (position, remaining) of the interrogated block.

-
-
-
-    { "voting_period":
-        { /* The voting period to which the block belongs. */
-          "index":
-            integer ∈ [-2^31-1, 2^31]
-            /* The voting period's index. Starts at 0 with the first block of
-               the Alpha family of protocols. */,
-          "kind":
-            /* One of the several kinds of periods in the voting procedure. */
-            "proposal"
-            || "exploration"
-            || "cooldown"
-            || "promotion"
-            || "adoption",
-          "start_position":
-            integer ∈ [-2^31-1, 2^31]
-            /* The relative position of the first level of the period with
-               respect to the first level of the Alpha family of protocols. */ },
-      "position":
-        integer ∈ [-2^31-1, 2^31]
-        /* The position of the block within the voting period. */,
-      "remaining":
-        integer ∈ [-2^31-1, 2^31]
-        /* The number of blocks remaining till the end of the voting period. */ }
-
-
-
-    +---------------+---------+----------------------------------+
-    | Name          | Size    | Contents                         |
-    +===============+=========+==================================+
-    | voting_period | 9 bytes | $X_0                             |
-    +---------------+---------+----------------------------------+
-    | position      | 4 bytes | signed 32-bit big-endian integer |
-    +---------------+---------+----------------------------------+
-    | remaining     | 4 bytes | signed 32-bit big-endian integer |
-    +---------------+---------+----------------------------------+
-
-
-    X_1 (1 byte, 8-bit tag)
-    ***********************
-
-    Proposal (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    exploration (tag 1)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Cooldown (tag 2)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Promotion (tag 3)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Adoption (tag 4)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_0
-    ***
-
-    +----------------+---------+----------------------------------+
-    | Name           | Size    | Contents                         |
-    +================+=========+==================================+
-    | index          | 4 bytes | signed 32-bit big-endian integer |
-    +----------------+---------+----------------------------------+
-    | kind           | 1 byte  | $X_1                             |
-    +----------------+---------+----------------------------------+
-    | start_position | 4 bytes | signed 32-bit big-endian integer |
-    +----------------+---------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--votes--current_proposal : - -**GET ..//votes/current_proposal** - -.. raw:: html - -
- - -
-

- Current proposal under evaluation.

-
-
-
-    $Protocol_hash /* Some */ || null /* None */
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------+----------------------+----------+
-    | Name            | Size                 | Contents |
-    +=================+======================+==========+
-    | Unnamed field 0 | Determined from data | $X_0     |
-    +-----------------+----------------------+----------+
-
-
-    X_0 (Determined from data, 8-bit tag)
-    *************************************
-
-    None (tag 0)
-    ============
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Some (tag 1)
-    ============
-
-    +---------------+----------+------------------------+
-    | Name          | Size     | Contents               |
-    +===============+==========+========================+
-    | Tag           | 1 byte   | unsigned 8-bit integer |
-    +---------------+----------+------------------------+
-    | Protocol_hash | 32 bytes | bytes                  |
-    +---------------+----------+------------------------+
-
-    
-
- - - -.. _GET_..--block_id--votes--current_quorum : - -**GET ..//votes/current_quorum** - -.. raw:: html - -
- - -
-

- Current expected quorum.

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

- List of delegates with their voting power.

-
-
-
-    [ { "pkh": $Signature.Public_key_hash,
-        "voting_power": $int64 } ... ]
-    $Signature.Public_key_hash:
-      /* A Ed25519, Secp256k1, P256, or BLS public key hash
-         (Base58Check-encoded) */
-      $unistring
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    public_key_hash (21 bytes, 8-bit tag)
-    *************************************
-
-    Ed25519 (tag 0)
-    ===============
-
-    +-------------------------+----------+------------------------+
-    | Name                    | Size     | Contents               |
-    +=========================+==========+========================+
-    | Tag                     | 1 byte   | unsigned 8-bit integer |
-    +-------------------------+----------+------------------------+
-    | Ed25519.Public_key_hash | 20 bytes | bytes                  |
-    +-------------------------+----------+------------------------+
-
-
-    Secp256k1 (tag 1)
-    =================
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    P256 (tag 2)
-    ============
-
-    +----------------------+----------+------------------------+
-    | Name                 | Size     | Contents               |
-    +======================+==========+========================+
-    | Tag                  | 1 byte   | unsigned 8-bit integer |
-    +----------------------+----------+------------------------+
-    | P256.Public_key_hash | 20 bytes | bytes                  |
-    +----------------------+----------+------------------------+
-
-
-    Bls (tag 3)
-    ===========
-
-    +---------------------------+----------+------------------------+
-    | Name                      | Size     | Contents               |
-    +===========================+==========+========================+
-    | Tag                       | 1 byte   | unsigned 8-bit integer |
-    +---------------------------+----------+------------------------+
-    | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
-    +---------------------------+----------+------------------------+
-
-
-    X_0
-    ***
-
-    +--------------+----------+----------------------------------+
-    | Name         | Size     | Contents                         |
-    +==============+==========+==================================+
-    | pkh          | 21 bytes | $public_key_hash                 |
-    +--------------+----------+----------------------------------+
-    | voting_power | 8 bytes  | signed 64-bit big-endian integer |
-    +--------------+----------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--votes--proposal_count--pkh : - -**GET ..//votes/proposal_count/** - -.. raw:: html - -
- - -
-

- Number of votes casted during the current period.

-
-
-
-    integer ∈ [-2^30, 2^30]
-
-
-
-    +-----------------+---------+-------------------------------------------------------------------------+
-    | Name            | Size    | Contents                                                                |
-    +=================+=========+=========================================================================+
-    | Unnamed field 0 | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 |
-    +-----------------+---------+-------------------------------------------------------------------------+
-
-
-    
-
- - - -.. _GET_..--block_id--votes--proposals : - -**GET ..//votes/proposals** - -.. raw:: html - -
- - -
-

- List of proposals with number of supporters.

-
-
-
-    [ [ $Protocol_hash, $int64 ] ... ]
-    $Protocol_hash:
-      /* A Tezos protocol ID (Base58Check-encoded) */
-      $unistring
-    $int64:
-      /* 64 bit integers
-         Decimal representation of 64 bit integers */
-      string
-    $unistring:
-      /* Universal string representation
-         Either a plain UTF8 string, or a sequence of bytes for strings that
-         contain invalid byte sequences. */
-      string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
-
-
-
-    +-----------------------+----------+------------------------------------+
-    | Name                  | Size     | Contents                           |
-    +=======================+==========+====================================+
-    | # bytes in next field | 4 bytes  | unsigned 30-bit big-endian integer |
-    +-----------------------+----------+------------------------------------+
-    | Unnamed field 0       | Variable | sequence of $X_0                   |
-    +-----------------------+----------+------------------------------------+
-
-
-    X_0
-    ***
-
-    +-----------------+----------+----------------------------------+
-    | Name            | Size     | Contents                         |
-    +=================+==========+==================================+
-    | Unnamed field 0 | 32 bytes | bytes                            |
-    +-----------------+----------+----------------------------------+
-    | Unnamed field 1 | 8 bytes  | signed 64-bit big-endian integer |
-    +-----------------+----------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--votes--successor_period : - -**GET ..//votes/successor_period** - -.. raw:: html - -
- - -
-

- Returns the voting period (index, kind, starting position) and related information (position, remaining) of the next block.Useful to craft operations that will be valid in the next block.

-
-
-
-    { "voting_period":
-        { /* The voting period to which the block belongs. */
-          "index":
-            integer ∈ [-2^31-1, 2^31]
-            /* The voting period's index. Starts at 0 with the first block of
-               the Alpha family of protocols. */,
-          "kind":
-            /* One of the several kinds of periods in the voting procedure. */
-            "proposal"
-            || "exploration"
-            || "cooldown"
-            || "promotion"
-            || "adoption",
-          "start_position":
-            integer ∈ [-2^31-1, 2^31]
-            /* The relative position of the first level of the period with
-               respect to the first level of the Alpha family of protocols. */ },
-      "position":
-        integer ∈ [-2^31-1, 2^31]
-        /* The position of the block within the voting period. */,
-      "remaining":
-        integer ∈ [-2^31-1, 2^31]
-        /* The number of blocks remaining till the end of the voting period. */ }
-
-
-
-    +---------------+---------+----------------------------------+
-    | Name          | Size    | Contents                         |
-    +===============+=========+==================================+
-    | voting_period | 9 bytes | $X_0                             |
-    +---------------+---------+----------------------------------+
-    | position      | 4 bytes | signed 32-bit big-endian integer |
-    +---------------+---------+----------------------------------+
-    | remaining     | 4 bytes | signed 32-bit big-endian integer |
-    +---------------+---------+----------------------------------+
-
-
-    X_1 (1 byte, 8-bit tag)
-    ***********************
-
-    Proposal (tag 0)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    exploration (tag 1)
-    ===================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Cooldown (tag 2)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Promotion (tag 3)
-    =================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    Adoption (tag 4)
-    ================
-
-    +------+--------+------------------------+
-    | Name | Size   | Contents               |
-    +======+========+========================+
-    | Tag  | 1 byte | unsigned 8-bit integer |
-    +------+--------+------------------------+
-
-
-    X_0
-    ***
-
-    +----------------+---------+----------------------------------+
-    | Name           | Size    | Contents                         |
-    +================+=========+==================================+
-    | index          | 4 bytes | signed 32-bit big-endian integer |
-    +----------------+---------+----------------------------------+
-    | kind           | 1 byte  | $X_1                             |
-    +----------------+---------+----------------------------------+
-    | start_position | 4 bytes | signed 32-bit big-endian integer |
-    +----------------+---------+----------------------------------+
-
-    
-
- - - -.. _GET_..--block_id--votes--total_voting_power : - -**GET ..//votes/total_voting_power** - -.. raw:: html - -
- - -
-

- Total voting power in the voting listings.

-
-
-
-    string
-    /* 64 bit integers
-       Decimal representation of 64 bit integers */
-
-
-
-    +-----------------+---------+----------------------------------+
-    | Name            | Size    | Contents                         |
-    +=================+=========+==================================+
-    | Unnamed field 0 | 8 bytes | signed 64-bit big-endian integer |
-    +-----------------+---------+----------------------------------+
-
-
-    
-
diff --git a/docs/quebec/sapling.rst b/docs/quebec/sapling.rst deleted file mode 100644 index a190ca86a1a1..000000000000 --- a/docs/quebec/sapling.rst +++ /dev/null @@ -1,533 +0,0 @@ -Sapling support -=============== - -This page first give some details on Sapling and its underlying concepts, and then describes the support for Sapling in Octez and in the Michelson language (part of the Tezos protocol). -For support in high-level smart contract languages, see the `Sapling documentation in OpenTezos `__. - -Sapling -------- - -Sapling is a protocol enabling privacy-preserving transactions of fungible -tokens in a decentralised -environment. It was designed and implemented by the Electric Coin -Company as the last iteration over a series of previous protocols and -academic works starting with the `Zerocoin seminal -paper `_. - -Keys -~~~~ - -Sapling offers a rich set of keys, each allowing different operations. -A *spending key* allows to spend tokens so if it is lost or -compromised the tokens could remain locked or be stolen. -From a spending key it is possible to derive a corresponding *viewing -key* which allows to view all incoming and outgoing transactions. -The viewing key allows the owner of the tokens to check their balance -and transaction history so if compromised there is a complete loss of -privacy. -On the other hand a viewing key can willingly be shared with a third -party, for example with an auditor for regulatory compliance purposes. - -A viewing key can also derive several diversified addresses. -An address can be used to receive funds, much like the address of a -user account. - -Additionally *proving keys* can be used to allow the creation of proofs, -thus revealing private information, without being able to spend funds. -They are useful for example in case the spending key is stored in a -hardware wallet but we'd like to use our laptop to craft the -transaction and produce the zero-knowledge proofs, which are -computationally too intensive for an embedded device. - -More details can be found in the `specification document -`_. - -Shielded transactions -~~~~~~~~~~~~~~~~~~~~~ - -Transactions use Bitcoin's UTXO model with the important difference that each -input and output, instead of containing an amount and an address, -are just cryptographic *commitments*. -In order to avoid double spends, it's important to be able to check -that a commitment has not already been spent. In Bitcoin we just need to -check if an output is also later used as an input to verify if it's -already spent. In Sapling however we can't know because inputs are not -linked to outputs. -For this reason for each input of a transaction, the owner must also -publish a *nullifier*, which invalidates it. The nullifier can only be -produced by the owner of a commitment and it's deterministic so that -everybody can check that it hasn't been already published. -Note however that it is not possible to infer which commitment has -been nullified. -Transactions of this form are privacy preserving and are referred to -as *shielded*, because they reveal neither the amount, the sender nor -the receiver. - -The existing set of transactions is referred to as the *shielded pool*. -Unlike Bitcoin, where everybody can compute the set of unspent -outputs of every user, in Sapling only the owner of a viewing key can -find their outputs and verify that they are not already spent. -For this reason, to an external -observer, the shielded pool is always increasing in size and the more -transactions are added the harder it is to pinpoint the commitments -belonging to a user. - -When we spend a commitment there is some additional information that -we need to transmit to the recipient in order for them to spend the -corresponding output. -This data is encrypted under a symmetric key resulting from a -Diffie-Hellman key exchange using the recipient address and an -ephemeral key. -In principle this *ciphertext* can be transmitted off-chain as it's -not needed to verify the integrity of the pool. For convenience, in -Tezos, it is stored together with the commitment and the nullifier on -chain. - -For reasons of efficiency the commitments are stored in an incremental -`Merkle tree `_ which -allows for compact proofs of membership. The root of the tree is all -that is needed to refer to a certain state of the shielded pool. - -In order to ensure the correctness of a transaction, given that there -is information that we wish to remain secret, the spender must also -generate proofs that various good properties are true. -Thanks to the use of `SNARKs `_ -these proofs are very succinct in size, fast to verify and they don't -reveal any private information. - -This model of transaction adapts elegantly to the case when we need to -mint or burn tokens, which is needed to shield or unshield from a -transparent token. -It suffices to add more values in the outputs than in the inputs -to mint and to have more in inputs than outputs to burn. - -Preventing Malleability -~~~~~~~~~~~~~~~~~~~~~~~ - -A Sapling transaction contains a ``bound_data`` field with arbitrary -bytes that gets signed by the user's Sapling key. -This field can be used to bind the transaction to another -application's logic. -For example during an unshield operation it is important to include in -the ``bound_data`` the Tezos account that will receive the unshielded -tokens. -Without any ``bound_data``, a Sapling unshield operation authorizes any -party that submits it to claim the unshielded tokens. An adversary can -intercept the Tezos operation containing the unshield and resubmit it -using its own Tezos account. -This malleability attack is prevented by including the recipient Tezos -account in the ``bound_data``, which is signed by the owner of the -Sapling keys, and that can be used by the Smart Contract to transfer -the tokens. - -**All Smart Contracts managing a Sapling shielded pool must include a -`bound_data` field in their unshield operations.** - -Note that the ``bound_data`` field is not encrypted and could leak -information about a transaction, therefore for a transfer (e.g. an -operation with balance 0) it should be left empty. -This is not a concern for shielding and unshielding which are already -linking a shielded and a transparent address. - -Privacy guarantees -~~~~~~~~~~~~~~~~~~ - -We explained that the shielded pool contains one commitment for each -input (spent or not), and one nullifier for each spent input. -These cryptographic commitments hide the amount and the owner of the -tokens they represent. -Additionally commitments are unlinkable meaning that we can not deduce -which input is spent to create an output. - -It should be noted that the number of inputs and outputs of a -transaction is public, which could help link a class of -transactions. This problem can be mitigated by adding any number of -dummy inputs or outputs at the cost of wasting some space. - -The shielded pool communicates with the public ledger by minting and -burning shielded tokens in exchange for public coins. -Therefore going in and out of the shielded pool is public: we know -which address shielded or unshielded and how much. -We can among other things infer the total number of shielded coins. - -Timing and network information can also help to deduce some private -information. -For example by observing the gossip network we might learn the IP -address of somebody that is submitting a shielded transaction. -This can be mitigated by using `TOR -`_. - -Good practices -~~~~~~~~~~~~~~ - -When blending in a group of people, one should always pay attention to -the size and the variety of the group. - -We recommend two good practices. First, do not originate a second -contract if another one has the same functionalities, it will split -the anonymity set. - -Second, remember that shielding and unshielding are public operations. -A typical anti-pattern is to shield from tz1-alice 15.3 tez, and then -unshield 15.3 tez to tz1-bob. It's fairly clear from timing and -amounts that Alice transferred 15.3 tez to Bob. -To decorrelate the two transfers it is important to change the -amounts, let some time pass between the two and perform the -transactions when there is traffic in the pool. -Similar problems exist in Zcash and they are illustrated in this -introductory `blog post -`_. - -There are a number of more sophisticated techniques to deanonymise -users using timing of operations, network monitoring, side-channels on -clients and analysis of number of inputs/outputs just to mention a few -(`A fistful of Bitcoins -`_ is a good -first read). -We advice users to be familiar with the use of the TOR network and to -use clients developed specifically to protect their privacy. - - -Sapling integration -------------------- - -The reference implementation of Sapling, -`librustzcash `_, has been -integrated in the Octez codebase, and Sapling features were made available for production use with the Edo protocol amendment in early 2021. - -Librustzcash and the Octez integration implement the protocol -described in this `specification -`_, version 2020.1.0. - -Michelson support -~~~~~~~~~~~~~~~~~ - -Sapling support uses two new Michelson types ``sapling_state`` and -``sapling_transaction``, and two instructions called -``SAPLING_VERIFY_UPDATE`` and ``SAPLING_EMPTY_STATE`` -(see the :doc:`Michelson reference` -for more details). - -``SAPLING_EMPTY_STATE`` pushes an empty ``sapling_state`` on the stack. - -``SAPLING_VERIFY_UPDATE`` takes a transaction and a state and -returns an -option type which is ``Some(bound_data, balance and updated -state)`` if the transaction is correct, ``None`` otherwise. -A transaction has a list of inputs, outputs, a balance, -the root of the Merkle tree containing its inputs, some bound data and a signature. - -The verification part checks: - -- the zero-knowledge proofs of all inputs - and outputs of the transaction, which guarantee several properties of - correctness -- a (randomised) signature associated with each input - (which guarantees that the owner forged the transaction), and the - signature that binds the whole transaction together and guarantees the - correctness of the balance -- that the root of the Merkle tree appears in - one of the past states and that the nullifiers are not already - present (i.e. no double spending is happening). - -All the signatures are over the hash of the data that we wish to sign -and the hash function used is Blake2-b, prefixed with the anti-replay string. -The anti-replay string is the the concatenation of the chain id and -the smart contract address. The same string has to be used by the client for -signing. - -If one of the checks fails, the instruction returns None. -Otherwise the function adds to the new state the nullifiers given with each input -and adds the outputs to the Merkle tree, which will produce a new root. -It should be noted that it is possible to generate transactions -referring to an old root, as long as the inputs used were present in -the Merkle tree with that root and were not spent after. -In particular, the protocol keeps 120 previous roots and guarantees -that roots are updated only once per block. -Considering 2 blocks per minute and that each block contains at least -one call to the same contract, a client has 1 hour to have its -transaction accepted before it is considered invalid. - -The nullifiers are stored in a set. The ciphertexts and other relevant -information linked to the commitment of the Merkle tree are -stored in a map indexed by the position of the commitment in the -Merkle tree. - -Lastly the instruction pushes on the stack an option with the bound -data, the balance, and the updated state. - -A smart contract typically shields or unshields tokens if the balance -is positive or negative, and simply updates the state if the balance -is zero. -Additionally in case of an unshield, it must use the bound data to -authorize the transfer of unshielded tokens. -For example it could convert the bound data to a public-key hash and -use it as recipient address of a Tezos transfer. - -Example contracts -~~~~~~~~~~~~~~~~~ - -Shielded tez -^^^^^^^^^^^^ - -An example contract implementing a shielded pool of tokens with a 1 to 1 conversion rate to mutez is available in the tests of the protocol at -:src:`src/proto_021_PsQuebec/lib_protocol/test/integration/michelson/contracts/sapling_contract.tz`. - -Simple Voting Contract -^^^^^^^^^^^^^^^^^^^^^^ - -One might envision using Sapling to implement private voting (i.e., a secret ballot). -It is possible to adapt shielded transactions to express and quantify preferences. -**However, this is not what Sapling is designed for and it does not provide the same properties as an actual private voting protocol.** - -A naive idea is the following. - -Suppose we want a set of users to express a preference for option A or -B. We can generate two Sapling keys with two addresses that are -published and represent the two options. -The contract lets each user create a token which represents one vote -that can then be transferred to address A or B. -Using the published viewing keys everyone can check the outcome of the -vote. - -However note that: - -- A transaction can be replayed and we can see the balance of A or B going up. -- This system does not offer ballot privacy. - -Therefore, this idea may be usable in some practical situations, but -**we recommend in general not to use it for any important vote.** - -Note that using a random elliptic curve element as incoming viewing key (IVK) allows to generate a -dummy address that cannot be spent. This eases the counting of the votes. -To ensure that the IVK does not correspond to a normal address with spending key, one -can use the Fiat-Shamir heuristic. - - -Fees issue -~~~~~~~~~~ - -The Sapling integration in Tezos exhibits a privacy issue that Z-cash doesn't have. When -interacting with a shielded pool one interacts with a smart contract -via a normal transaction and therefore have to pay fees from a -user account. -One could guess that private transactions whose fees are paid by the -same user account are from the same user. -This can be mitigated by making a service that act as a proxy by -forwarding the user transactions and paying its fees. The user would -then include in the transaction a shielded output for the service that -covers the fees plus a small bonus to pay the service. -This output can be open by the service before sending the transaction -to check that there is enough money to cover its fees. - -As usually done for mitigating other Z-cash privacy issues, -users interacting with the proxy should use TOR or mitigate network -analysis as they wish. - - -RPCs -~~~~ - -There are two Sapling RPCs under the prefix ``context/sapling``. -``get_size`` returns a pair with the size of the set of commitments -and the size of the set of nullifiers. -``get_diff`` takes two optional starting offsets ``cm_from`` and ``nf_from`` -and returns the sapling state that was added from the offsets to the -current size. In particular it returns three lists: - -- commitments, -- ciphertexts from position ``cm_from`` up to the last one added, and -- nullifiers from ``nf_from`` to the last one added. - -Additionally it returns the last computed root of the Merkle tree so -that a client updating its tree using the diff can verify the -correctness of the result. - -Client support -~~~~~~~~~~~~~~ - -Wallet -^^^^^^ - -``octez-client`` supports Sapling keys and can send -shielded transactions to smart contracts. - -The client supports two ways to generate a new Sapling spending key. -It can be generated from a mnemonic using `BIP39 -`_, so -that it can be recovered in case of loss using the mnemonic. -Alternatively it is possible to derive new keys from existing ones -using `ZIP32 -`_, a Sapling -variant of `BIP32 -`_ for -hierarchical deterministic wallets. As usual, in this case it is -important to note the derivation path of the key to be able to recover -it in case of loss. -At the moment there is no hardware wallet support, keys are stored in -``~/.tezos-client/sapling_keys`` by default encrypted with a password. -**Users should take care to backup this file.** - -The client can also derive addresses from viewing keys. -By default addresses are generated using an increasing counter called -the address index. Not all indexes correspond to valid addresses for -each key so it is normal to see an increasing counter that -occasionally skips a few positions. - -The client binds each newly generated key to a -specific smart contract address. - -Operations -^^^^^^^^^^ - -The client also facilitates the creation of shielded transactions and -their transfer as arguments of smart contracts. -For now there is seamless integration to send transactions to the -reference shielded-tez contract and there are plans to support a -larger class of contracts. - -For the shielded-tez smart contract, the client supports shielding, -unshielding and shielded transactions. -In the case of shielded transactions there are two commands, one to -forge a transaction and save it to file and one to submit it to the -smart contract. -The idea is that a user should not use their own transparent tz{1,2,3} -address to submit a shielded address but rather have a third party -inject it. - - -Code base -~~~~~~~~~ - -The current code-base is organized in three main components. -There is a core library called ``lib_sapling`` which binds ``librustzcash``, -adds all the data structures necessary to run the Sapling -protocol and includes a simple client and baker. -Under the protocol directory there is a ``lib_client_sapling`` library -which implements a full client capable of handling Sapling keys and -forging transactions. -Lastly in the protocol there is a efficient implementation of the -Sapling storage, in the spirit of ``big_map``\ s, and the integration of -``SAPLING_VERIFY_UPDATE`` in the Michelson interpreter. - -Protocol -^^^^^^^^ - -In order to make the Sapling library available to the protocol is has -been exposed through the environment that sandboxes the protocol. -The changes to :src:`src/lib_protocol_environment` were delivered -as part of version V1 of the environment. - -There are two main forms of support in the economic protocol: the storage -for Sapling and the addition of ``SAPLING_VERIFY_UPDATE`` to the -Michelson interpreter. - -Given that the storage of a Sapling contract can be substantially -large, it is important to provide an efficient implementation. -Similarly to what is done for big_maps, the storage of Sapling can't -be entirely deserialized and modified in memory but only a diff of the -changes is kept by the interpreter and applied at the end of each -smart contract call. - -The Michelson language offers two special-purpose types: ``sapling_state`` and -``sapling_transaction``, and one instruction: ``SAPLING_VERIFY_UPDATE``. - -Client -^^^^^^ - -Under ``lib_client_sapling`` there is the client integration -with the support for Sapling keys and forging of transactions. -The main difference from the ``lib_client`` library is the need for the -Sapling client to keep an additional state, for each contract. -Because Sapling uses a UTXO model it is necessary for a client to -compute the set of unspent outputs in order to forge new transactions. -Computing this set requires scanning all the state of a contract which -can be expensive. -For this reason the client keeps a local state of the unspent outputs -after the last synchronization and updates it before performing any -Sapling command. -The update is done using the RPCs to recover the new updates since the -last known position. - -The state of all Sapling contracts is stored in -``~/.tezos-client/sapling_states``. This file can be regenerated from -the chain in case of loss. However disclosure of this file will reveal -the balance and the unspent outputs of all viewing keys. - -Memo -^^^^^^ - -Sapling offers the possibility to add an arbitrary memo to any -created output. The memo is encrypted and available to anyone -owning the outgoing viewing key or the spending key. -For privacy reasons the size of the memo is fixed per contract -and it is chosen at origination time. -A transaction containing an output with a different memo-size -will be rejected. -Our client adds a default zero-filled message of the -right length. If a message is provided with the ``--message`` option, -the client will pad it or truncate it if necessary. A warning message -is printed only if the user's message is truncated. - -Sandbox tutorial -~~~~~~~~~~~~~~~~ - -Let us show how to test the system end-to-end using the -:doc:`../user/sandbox`. -After having set up the sandbox and originated the contract, a good -way to get familiar with the system is to generate keys and then -perform the full cycle of shielding, shielded transfer and -unshielding. - -:: - - # set up the sandbox - ./src/bin_node/octez-sandboxed-node.sh 1 --connections 0 & - eval `./src/bin_client/octez-init-sandboxed-client.sh 1` - octez-activate-alpha - - # originate the contract with its initial empty sapling storage, - # bake a block to include it. - # { } represents an empty Sapling state. - octez-client originate contract shielded-tez transferring 0 from bootstrap1 \ - running src/proto_021_PsQuebec/lib_protocol/test/integration/michelson/contracts/sapling_contract.tz \ - --init '{ }' --burn-cap 3 & - octez-client bake for bootstrap1 - - # if necessary, you can get information from the octez-client manual - octez-client sapling man - - # generate two shielded keys for Alice and Bob and use them for the shielded-tez contract - # the memo size has to be indicated - octez-client sapling gen key alice - octez-client sapling use key alice for contract shielded-tez --memo-size 8 - octez-client sapling gen key bob - octez-client sapling use key bob for contract shielded-tez --memo-size 8 - - # generate an address for Alice to receive shielded tokens. - octez-client sapling gen address alice - zet1AliceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Alice's address - - - # shield 10 tez from bootstrap1 to alice - octez-client sapling shield 10 from bootstrap1 to zet1AliceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX using shielded-tez --burn-cap 2 & - octez-client bake for bootstrap1 - octez-client sapling get balance for alice in contract shielded-tez - - # generate an address for Bob to receive shielded tokens. - octez-client sapling gen address bob - zet1BobXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Bob's address - - # forge a shielded transaction from alice to bob that is saved to a file - octez-client sapling forge transaction 10 from alice to zet1BobXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX using shielded-tez - - # submit the shielded transaction from any transparent account - octez-client sapling submit sapling_transaction from bootstrap2 using shielded-tez --burn-cap 1 & - octez-client bake for bootstrap1 - octez-client sapling get balance for bob in contract shielded-tez - - # unshield from bob to any transparent account - octez-client sapling unshield 10 from bob to bootstrap1 using shielded-tez --burn-cap 1 - ctrl+z # to put the process in background - octez-client bake for bootstrap1 - fg # to put resume the transfer diff --git a/docs/quebec/smart_rollups.rst b/docs/quebec/smart_rollups.rst deleted file mode 100644 index 293b54c0f61b..000000000000 --- a/docs/quebec/smart_rollups.rst +++ /dev/null @@ -1,381 +0,0 @@ -Smart Optimistic Rollups -======================== - -A **rollup** is a processing unit that receives, retrieves and -interprets input messages to update its local state and to produce -output messages targetting the Tezos blockchain. In this -documentation, we will generally refer to the rollup under -consideration as the Layer 2 on top of the Tezos blockchain, -considered as the Layer 1. - -Overview -^^^^^^^^ - -Smart rollups are a permissionless scaling solution for the Tezos -blockchain. Indeed, anyone can originate and operate one or more -rollups, allowing to increase the throughput of the Tezos blockchain, -(almost) arbitrarily. - -The purpose of this documentation is to provide an overview of the terminology and basic principles of smart rollups. -In the :doc:`../shell/smart_rollup_node`, we provide a complete tour -of smart rollups related workflows and reference documentation for the development of a WASM kernel. - -The integration of these rollups in the Tezos protocol is -*optimistic*: this means that when a participant publishes a claim -about the state of the rollup, this claim is *a priori* -trusted. However, a refutation mechanism allows anyone to economically -punish someone who has published an invalid claim. Therefore, thanks -to the refutation mechanism, a single honest participant is enough to -guarantee that the input messages are correctly interpreted. - -Rollup kernel -^^^^^^^^^^^^^ - -In the Tezos protocol, the subsystem of smart rollups is generic with -respect to the syntax and the semantics of the input messages. More -precisely, the originator of a smart rollup provides a program named a -**kernel** (in one of the languages supported by Tezos) responsible -for interpreting input messages. During the refutation mechanism, the -execution of this kernel is handled by a **Proof-generating Virtual -Machine (PVM)** for this language, provided by the Tezos protocol, -which allows to prove that the result of applying an input message to -the rollup context is correct. The rest of the time, any VM -implementation of the chosen language can be used to run the smart -rollup kernel, provided that it is compliant with the PVM. - -The smart rollup infrastructure currently supports the WebAssembly -language. A WASM rollup runs a kernel expressed in WASM. The role of the kernel is -to process input messages, to update a state, and to output messages -targeting the Layer 1 following a user-defined logic. Anyone can -develop a kernel or reuse existing kernels. A typical use case of WASM -rollups is to deploy a kernel that implements the Ethereum Virtual -Machine (EVM) and to get as a result an EVM-compatible Layer 2 running -on top of the Tezos blockchain. WASM rollups are not limited to this -use case though: they are fully programmable, hence their names, smart -optimistic rollups, as they are very close to smart contracts in terms -of expressiveness. - -User roles -^^^^^^^^^^ - -Just like smart contracts, smart rollups are decentralized software -components. However, contrary to smart contracts that are processed -by the network validators automatically, a smart rollup requires -a dedicated *rollup node* to function. - -Any user can originate, operate, and interact with a rollup. For the -sake of clarity, we will distinguish three kinds of users in this -documentation: operators, kernel developers, and end-users. An -operator deploys the rollup node to make the rollup progress. A kernel -developer writes a kernel to be executed within a rollup. An end-user -interacts with the rollup through Layer 1 operations or Layer 2 input -messages. - -Address -^^^^^^^ - -When a Smart Rollup is originated on the Layer 1, a unique address is -generated to uniquely identify it. A smart rollup address starts with -the prefix ``sr1`` -(see also :doc:`./accounts`). - -Inputs -^^^^^^ - -There are two channels of communication to interact with smart rollups: - -#. a global **rollups inbox** allows the Layer 1 to transmit - information to all the rollups. - -#. a **reveal data channel** allows each rollup to retrieve data - coming from data sources external to the Layer 1. Rollups request - data through that channel to the runner of that rollup kernel - (i.e. the smart rollup node). - -Rollups inbox -""""""""""""" - -A single global inbox serves all rollups and contains two kinds of messages: -*external* messages are pushed through a Layer 1 manager operation -while *internal* messages are pushed by Layer 1 smart contracts or by -the protocol itself. All messages (external and internal) pushed to -the inbox also contain the Layer 1 level of their insertion and a -counter. The counter is the index of the message and it is reset at -each Layer 1 level. - -External messages -''''''''''''''''' - -Anyone can push a message to the rollups inbox. This message is a mere -sequence of bytes following no particular underlying format. The -interpretation of this sequence of bytes is the responsibility of each -kernel. - -There are two ways for end-users to push an external message to the -rollups inbox: first, they can inject the dedicated Layer 1 operation -using the Octez client (see command ``send smart rollup message - from ``); second, they can use the batcher -of a smart rollup node. More details can be found in the :ref:`sending_external_inbox_message`. - -Internal messages -''''''''''''''''' - -Contrary to external messages, which are submitted by the end users, -internal messages are constructed by the Layer 1. - -At the beginning of every Tezos block, the Layer 1 pushes two internal -messages: “Start of level”, and “Info per level”. “Start of level” -does not have any payload associated to it, while “Info per level” -provides to the kernel the timestamp and block hash of the predecessor -of the current Tezos block. If the Tezos block is the first block of a -protocol, then the Layer 1 pushes another message “Protocol migration” -just after the “Info per level” that provides the new protocol version -(i.e. ``_``). - -A rollup is identified by an address and has an associated Michelson -type (defined at origination time). Any Layer 1 smart contract can -perform a transfer to this address with a payload of this type. This -transfer is realized as an internal message pushed to the rollups -inbox. - -Finally, after the application of the operations of the Tezos block, -the Layer 1 pushes one final internal message “End of -level”. Similarly to “Start of level“, this internal message does not -come with any payload. - -.. _reveal_data_channel_smart_rollups: -.. _reveal_data_channel_smart_rollups_quebec: - -Reveal data channel -""""""""""""""""""" - -The reveal data channel is a communication interface that allows the -rollup to request data from sources that are external to the inbox and -can be unknown to the Layer 1. The rollup node has the responsibility -to answer the rollup requests. - -A rollup can do the following requests through the reveal data channel: - -#. **preimage requests**: The rollup can request arbitrary data of at - most 4kBytes, provided that it knows its (blake2b) hash. The - request is fulfilled by the rollup node, see :ref:`populating_the_reveal_channel`. - -#. **metadata requests** The rollup can request information from the - protocol, namely the address and the origination level of the - rollup itself. The rollup node retrieves this information - through RPCs to answer the rollup. - -Information passing through the reveal data channel does not have to -be considered by the Layer 1: for this reason, the volume of -information is not limited by the bandwidth of the Layer 1. Thus, the -reveal data channel can be used to upload large volumes of data to the -rollup. - -Origination -^^^^^^^^^^^ - -A smart rollup is characterized by: -- the kind of Proof-generating Virtual Machine (PVM), -- the kernel written in a language that the PVM can interpret, -- the Michelson type of the entrypoint used by Layer 1 smart contracts -to send internal messages to it, and -- an optional list of addresses used as a white-list of allowed -committers (see :ref:`private_rollups_quebec`). - -All these characteristics are provided when originating a new smart -rollup. - -Processing -^^^^^^^^^^ -Each time a Tezos block is finalized, a rollup reacts to three kinds -of events: the beginning of the block, the input messages possibly -contained in that block, and the end of the block. A **rollup node** -implements this reactive process: it downloads the Tezos block and -interprets it according to the semantics of the PVM. This -interpretation can require updating a state, downloading data from -other sources, or performing some cryptographic verifications. The -state of the rollup contains an **outbox**, which is a sequence of -latent calls to Layer 1 contracts. - -The behavior of the rollup node is deterministic and fully specified -by a reference implementation of the PVM embedded in the -protocol. Notice that the PVM implementation is meant for -verification, not performance: for this reason, a rollup node does not -normally run a PVM to process inputs but a **fast execution engine** -(e.g., based on the Wasmer runtime for the WASM PVM in the case of the -rollup node distributed with Octez). This fast execution engine -implements the exact same semantics as the PVM. The PVM is only ever -used by the rollup node when it needs to produce a proof during the -last step of the refutation mechanism. - -.. _commitments: -.. _commitments_quebec: - -Commitments -^^^^^^^^^^^ - -Starting from the rollup origination level, levels are partitioned -into **commitment periods** of a number of consecutive blocks corresponding to about 15 minutes (currently 112 blocks). - -A **commitment** claims that the interpretation of all inbox messages -published during a given commitment period, and applied on the state of -a parent commitment, led to a given new state by performing a given -number of execution steps of the PVM. Execution steps are called -**ticks** in Smart Rollups terminology. - -A commitment must be -published on the Layer 1 any time after each commitment period, to have the rollup -progress. -A new commitment period starts right after the previous commitment period, no matter if commitments were published or not for the previous commitment period(s). -For example, if an operator rollup node stops running for one day long, when it comes back, it will be able to resume publishing commitments for the passed periods, in chronological order. -Indeed, a commitment is always based on a parent commitment (except -for the genesis commitment that is automatically published at -origination time), so publishing a commitment fails if the parent commitment has not yet been published. - -Since the PVM is deterministic and the inputs are completely -determined by the Layer 1 rollups inbox and the reveal channel, there -is only one honest commitment. In other words, if two distinct -commitments are published for the same commitment period, one of them -must be wrong. - -An operator publishing a commitment is called a **committer**. -Notice that, in order to publish a commitment, the operator must freeze a -deposit of 10,000 tez, called :ref:`**frozen bonds**`. For this reason, the -committer is sometimes called a -(smart rollup) *staker*. However, in order to avoid confusion with the -:doc:`staker` role in Tezos Layer 1's Proof-of-Stake mechanism, we prefer to use the term "committer" throughout this documentation. - -Several committers can publish (and thus stake on) the same commitment. When a -committer *C* publishes a new commitment based on a commitment that *C* -has published, *C* does not have to provide a new deposit: the deposit also -applies to this new commitment. - -There is no need to synchronize between operators: if two honest -operators publish the same commitment for a given commitment period, -the commitment will be published with two stakes on it. - -A commitment is optimistically trusted but it can be refuted until it -is said to be **cemented** (i.e., final, unchangeable). Indeed, right -after a commitment is published, a two-week refutation period -starts. During the refutation period, anyone noticing that a -commitment for a given commitment period is invalid can post a -concurrent commitment for the same commitment period to force the -removal of the invalid commitment. If no one posts such a concurrent -commitment during the refutation period, the commitment can be -cemented with a dedicated operation injected in Layer 1, and the -outbox messages can be executed by the Layer 1 by an explicit Layer 1 -operation (see :doc:`../shell/smart_rollup_node`), typically -to transfer assets from the rollup to the Layer 1. - -The outbox messages can follow three different formats. Firstly, the -Layer 1 operations contained in the outbox messages can be left -untyped, meaning only the Micheline expression is provided by the -kernel. Before executing the transaction, the Layer 1 typechecks said -expression against the expected type of the targeted entrypoint. Since -Nairobi, it is also possible for the kernel to provide its expected -type of the targeted entrypoint. This additional safety mechanism is -to avoid type confusion: namely, a kernel transferring a tuple that -the Layer 1 interprets as a ticket. Lastly, the outbox message can -contain a white-list update. This message can only be executed for a -rollup that is private since its origination (see -:ref:`private_rollups_quebec`). - -.. _bonds: -.. _bonds_quebec: - -Bonds -^^^^^ - -The committer's bond of 10,000 tez is frozen automatically when the committer makes their first commitment. -The bond remains frozen until the committer is no longer staking on any uncemented commitment. - -Because nodes have the length of the refutation period to challenge another node's commitment, the bond stays locked until the end of the refutation period for the last commitment that the node posted. -Recovering the bond safely takes a few steps; in general, node operators follow these steps: - -#. Switch the rollup node to ``bailout`` mode, which defends existing commitments but does not post new commitments. - -#. Wait until the last commitment is cemented. - If operators shut down the node before the last commitment is cemented, they risk losing their bond if another node challenges their commitments. - -#. Recover the bond by running the ``recover bond`` operation, which unlocks their tez. - Nodes running in ``bailout`` mode attempt to run this command automatically when the last commitment is cemented. - For more information, see :ref:`deploying_a_rollup_node`. - -Refutation -^^^^^^^^^^ - -Because of concurrent commitments, a rollup is generally related to a -**commitment tree** where branches correspond to different claims -about the rollup state. - -By construction, only one view of the rollup state is valid (as the -PVM is deterministic). When two concurrent branches exist in the -commitment tree, the cementation process is stopped at the first fork -in the tree. To unfreeze the cementation process, a **refutation -game** must be started between *two concurrent committers* of these -branches. Refutation games are automatically played by rollup nodes to -defend their stakes: honest participants are guaranteed to win these -games. Therefore, an honest participant should not have to worry about -refutation games. Finally, a running refutation game does not prevent -new commitments to be published on top of the disputed commitments. - -A refutation game is decomposed into two main steps: a dissection -mechanism and a final conflict resolution phase. During the first -phase, the two committers exchange hashes about intermediate states of -the rollups in a way that allows them to converge to the very first -tick on which they disagree. The exact number of hashes exchanged at a -given step is PVM-dependent. During the final phase, the committers must -provide a proof that they correctly interpreted this conflicting tick. - -The Layer 1 PVM then determines whether these proofs are valid. There -are only two possible outcomes: either one of the committers, that we dub *C* in the sequel, has provided -a valid proof, then *C* wins the game, and is rewarded with half of the -opponent's deposit (the other half being burnt); or, both committers have -provided an invalid proof and they both lose their deposit. In the -end, at most one stake will be kept in the commitment tree. When a -commitment has no more stake on it (because all committers have lost the -related refutation games), it is removed from the tree. An honest -player *H* must therefore play as many refutation games as there are -stakes on the commitments in conflict with *H*'s own commitment. - -Finally, notice that each player is subject to a timer similar to a -chess clock, allowing each player to play only up to one week: after -this time is elapsed, a player can be dismissed by any Layer 1 user -playing a timeout operation. Thus, the refutation game played by the -two players can last at most 2 weeks. - -There is no timeout for starting a refutation game after having -published a concurrent commitment. However, assuming the existence of -an honest participant *H*, then *H* will start the refutation game with all -concurrent committers to avoid the rollup getting stuck. - -.. _private_rollups: -.. _private_rollups_quebec: - -Private rollups -^^^^^^^^^^^^^^^ - -A **private** Smart Rollup guarantees that private data cannot be -leaked by any means, whereas in a public rollup, one can force a -rollup to leak part of the data by starting a refutation game. This is -achieved by restricting the set of allowed committers using a -*whitelist*. With that restriction, only addresses on the whitelist -can publish commitments and therefore participate in a refutation -game. - -The whitelist is optionally defined at origination. The rollup is -considered public if no white-list is defined, private otherwise. The -whitelist can be updated with a specific outbox message. This message -contains an optional list, the new list completely replaces the stored -whitelist in layer 1. If the message contains no list, then the -rollup becomes public. In turn, it is forbidden to make a public -rollup private by sending an outbox message with a non-empty -whitelist. - -It is the responsibility of the kernel to maintain the white-list by -submitting outbox messages. Kernels must therefore implement their -own access control list logic to add and remove addresses. - -Also, it is important to remember that because of the refutation -logic, an outbox message can only be executed when the associated -commitment has been cemented (see :doc:`../shell/smart_rollup_node`). diff --git a/docs/quebec/staked_funds_transitions.png b/docs/quebec/staked_funds_transitions.png deleted file mode 100644 index 96a15d92c2c2480234c15a0b586a3a01ea3e2b3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57402 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%0AtJ{p7Qt`zLSeQ=VbVih zCwDyoMz5)f8zk)O_6T~lPM0X2nsl^FQZD*TXwB;@D<=ytZ{b%py3)Glmx`cI=$eAh z&(6+mI3_&#bC|b1Q|+%Wh2Nz@#g)#!UnDdibVk3hPQ{ zX(@ZR|0XGipXzFoeDAn-7=jMg*!Fte?pvbaF^Qnt2wq;W5h$1_W0DbYWS51ZtU}6i z(82s}y;4t;>;$!6UI<$o^)&BF!J&Dr>=lzM#kMO{By*~6GrZaRYa3|tCb}YWV^Zty znJJd#_bQ+Jy)N8z+~I?nSVGOqo##JgM|6A6?)TXL<&yVg+bvAr-yc=~xQ8RF0^GL& zhlkB+KFcQppe7AhzJOJc3)2}}f!K=El?U6!1s@h1ahj$bu9qVpp;miBVw%^hoXK}3 z)|)>&yYbp>HFnmM5;LXWZo8c)cwGKH+m73y<1Wq~ykGISw_^9@f1U~r=^CGlkEpjz z_!AZKNO-zOmYmT>-_Xxuj!FNcwq#6vp7_)K$@~YaRNYzjabMp$CynW4XMUk3h#fMa3_6!El=E(7Y;7!yAwaUe|Wgx&-uj7y#3%P6dPK6OE$8JgHfX2SPPc%Q5C=M5^-PqS=c0}v5K9%{yd1t?u)!c2}Wu%-k7Pp;;bJEYqsuRd|>7$h95t_^=8@w`FL|z4oOoPT^y#F!wRe%xEdEW$-%9&8{E@mo^|g15%Mzyj zCnd6%*xCPnW4ztr$RTz;rGp zQ>Al8^0_Vrg+}E^Q$I|vm?b{HVhOA5e~*;T<6`rYTQpTy74kew-BGse61Q>SJ^^)Lwdolu8O4zf9Zk=a^~n zGoSQG6@@t)6ZSe^Y11AN-Fj?+NB zko(|`9@85S4zTb9n9 z-`RLpUs_*AVBHam4YEl)($CM+la|VRwD5P4Z(;GhO{v|R7b!jas+g_ zVCRERkEYi1{mU$z`DL}?oevRP3mAJuHou&_(`A#yCZpyAMYk!(?0sh%rOv5%I)8rX zv4qc$gb%iGd@h`!!kCcrKfXGhss8Jf|Npm}PIdIqx-umw^3aV-PFhK7o}O(%+eB_| zpJM8>Xybb0z)f2&918HdrX=O99i<_nc+<1z|NF``zyFt)SMM+XTlfB3mA%~kZU=eS}gbfW0@+A=;7A&$d z;9pXbwhz<_4u8NI==-NOgF~~+=x5fhlXv)^1RHHU$gG~V;c>TMV~a*BZ%@s><@)nl zRvZfUd0}c};F1wBqvJyki&f4Ee}@&yPL}m+?l|vHTQ>j7gBdn|W|Q;6UiUb$FC)eJmcu?aMdLfh5BEOo zPMWy8x#Ih==Pc(xE%BUu$NP=91z*_2p9@7i6=K*vo-|#v;!xnpJMECMM6Zbq$!cuh zv>pXXgwHorNH$m}e*bNcq{Qz4N4t`sANPKUY;%!29CBPOuEwZt(WQ0eN)M){{5dIM z_T|i@-c+Nx8x8tck9lvIzftzFMo*!L<(iOp-;cSNKCbLLzQb+j$)DBp7gb9H2f3IA z`u4ZX^JjZ)Go$0}x)lL-Y}aiBG@YDz3T+PWKCy;FsjE@P6YpH$ z+2*KmFO@^y$$h4yi$P(`p`w%GU*{bRkE=}G z8!4@C_xIzCc?DdzTz@+$yG*@)eO+ue=tOSmJ)a%h7~@o3Bo-dHr`)NqG=NvW;8uTn zU%QAH?^KU(Wo{Af(_0;5J_jU3iri{vw-SB4u=V@2e@2ttOK*ev1JiUOAMGjWa8(oE z!T$5@YWd$2Lee64Jp3r~IPqBanU6Q*lyxKoPi}o~{+;9bqeQnCI&x=T1nJF@_P3V{ zk(cYLc>L?wXQv|F3Wdj^$4)dKJ>01-@;LEyv#7s~Oy!GDsSj@-U&8tE(?Z3PnHn9b zZ%#iy?7!?n{JHZg&M#QM?^NmtmHX6TAAh1Fpz2(_;4yKL&GY8SJH`oGo)f*OKNozx z8P`;X$JWQ9h32=GvPxc`wD~0e)gO}Y4dp&O=Dja%ujy-{H~Hp9ow*x3#pnO4=-Ik* zzmVUy-`{Hz16$0e)52zh(71MMmr_;^#Tt!atP>035szz_BB3m zSz@Gp-Vrl!sETVynfpq z{P5lLU6;aHti3-J=qs|+?qJKF^Q+0c;^BvYHa9)>->nO^T1tXrI+unoI$C7GFOwmy zXwXsfPTivNv!!&6MdgXA!@{qApFI=!ba%k2Ujd+uj){$JlSBa*--q}~N{UU4Uw0%Arb~_6{ zNE9ZAKUwsFXN%;U&j&lFZs~b&=X$^vlHQvE6Ekt8%`f z;PdfGp|kRZ58IUf3EWv|c-qB!#ze(0SELtBD*p7)K}N|*BIS31hm-Y3J;Ti{igg0q zc2B0VvpThYNMsRQxNMIYZ|B!T?KZA0qW1R$#5nZ#Wa%&-X1~i_w4b-BvuoF$b`56+ zg=0pB`eg#&6t9=`bzbM^&xp+4_3QJ;1I_0AA@hR|92U-3dM5mCr`Vh3??y3?yI!CB zE4t3#wU04pkK&n%0HOVT8OQf1@SbmdKIQRcwRiF@a`Up&UN|{_n7H}mULm^;Gmk#r zwNd|AdT;wC^ZARVvsa4ROExN~A2}#~f6?2xFF`WhuX`2J7agA8{#aP?z+QRn5cRp) zGcx2`4CY6^vsLqWvE2vM)^SlNXPNSOruDaz^JZ?;wNDlOaB!xBOT5YU%h#7BOqywE z&^BT54&`KxMN2M8&VJCDa^~QSDW2tZ%4&29X zKjzz$D*4}N+Cu%C68UPUV{b2YYk0vqr{+(}o1ZQM50*L?o8xkyP=oMo!Y)XkBf7hiJ?{yA%=gx))DXj?Lj;d;aQ?Xi2?ET?q>X z_%@qxNb)>9$S^N}Ep4iRT#JX$rH&U*^QZAIoTR77(lX)GLze@ODxDVmVr}3Ie^62J zi6gPqd~?LU2LAWPn_0vUX$ze0&~}Qml&jn+p*Xi<#m9YzdN*Y5@txDJFL|qPf+K@! z@R4O}qWhN`XNdDR`+WXhabUt?FT1QgDMkMUROif8DUIJL?&$uav;M`;w*t$2^b{)g zbhvB@Ht6EyX3^iAW7ERPsv0xR$wuNj-+JZSlajlCa&pY~@c+Nlol{O& z{|TQ@@AcL&-0V`LXi)6=PwVXxCga-0{Sv}#J~9RRp8~#Fiq!CZ*e8_r=6&fp!|T`L z!>6%5+T3lhH1`d2vRd+q{%89VA1zwcQ;_hBGr9A8*P?Zw!Q;|3OiLDi@CiG(@XucF zJ;rSLLdksVX6j#R)<{j7!)Wivcd75tqZYegnsZFtmnelv<{Q~101zZ!gf@+$kFj_b<9kzDvP}HmF zx#Pjox<27_c7@DN&*au)MLI3giLtUTwa;&FkE2ifQI8_6f6_05?1=wQPHrwoO88Qtq& zb)QiBV?OWU&7=f>>zScWUmn!DUbtlEA|zjP%ln1i&c#0y?oF1h(pdcV)Aj4^dXIlT zHf^c+vBC9;@y!PIN&F1onPVOtZ0_DKIIW{--Qw?DpY5)++|+1J>woZ$WM9_NyN!*`s@)BmLGuJ7H*6Pi~W%YR=we*KaDXo>U(1_v|`Su_>; zuSym^<|^_f#m8@p)MJrjmP?jj)N5I)UvctA+xOb22%A%DVjjra^}H{vF*I9tj_a|r z+8fE&ii>Kug#U}%cqvCRaP|_uM=U2R=K9-Ya)|EHON>ZzU69()XD*~Kt29G;F1za6 zgRezTJGWIF^p@hSKC-xlotyDgkKoSv4Tl7{WV-ncpFiBw!X`9LvQ6N_L-oqpe+88~ zJYDz{Pv#uYuJQP=?$N|WYhyU%xz6mYn9FZ>+|A-cg2It$k{Uhy(u>#}Pk-Dae!5*n zVBP_qz{sV`W*$89_>_)tQb)VsTaM|Djy(@jU22{;2PSk#+P1`PQQD9%pTu40R-t<@ z_QppCWf|oxk(&oM_hvkAY*kRMl;tXtCvr}Ve$qp;=jefv7}D?Ac?Ts$M)mWT_+^sJRsH>gWq zBQJJ;$y|=8UinY&g%4KDDb$o|GmMLzcH#5M2C;B^=FeSX^Pl#L2|840%V+8535s=u z=T#jlaaNu`=|hm+kD42to1gxV;Qp(YWqtfX3`eX>{uhaszz3FJ&)npDcvQ;WCPBcl zhC$G-Q6LwCb6^4$0Fc` zdgSAS-ZQ*PZi>FM?|Xh-xHruC*^ibR7wYQm(l!fzy%X#F!Pw3z z{NbgD0Pk_NKeF0iratQIG2A1}7}zD=qsrLnlKe>SyauaNVS_X|NKw&fh_i*t@8 zZ91gXAU@|L(;V3)rKu`*g=Zfp9X}hJ^T>Ga=`QommX|RdR!3C$1=98z>?ux^U|avw z)bFrs_2rk#ziG-b)qMPL;Jfj>eO4RZD<&SOcq4o^B-N`$CerCD=jX&nZ2D{Ab?S^G z$EwY8Z*93_>Xfcm&Q$Z?m{WEgZ`?cezxO!{J_KApy#BtVY_mer$3v4IYih?ZS!7@6 zu2?_w$qA2|P5<~Rr^xs`GPcj-Dtdl`QQ?iqN6!@+KUbegc^EpW(_sq3JikvNoOh2_ zcQL5cPZfy$)UT~nDZk$Kp;gOHVWlZA9xho8*-sX*kA>r;%Y+BDlR6zL1rN;jykRg| z=1Shd%_oH_?$lpt(9oW`X3wo9kJF|zT&!HP#$i{A(%u;cZ>BLS8{QT9zEGeW?43)B z500wGTeWO$-+AGsjQ?*?71O|x;?__oJ8#7csoOJUL#sh0l@#M8@xqJ==VoZEv0nH? z#lQQJO$f`>A39s3J^zX}z7bTAZ-_~CI;2_lV7kYtdy*w8keTHWjtTwlAEmMqPJny( zu}mT_mfYje&Q>YXQxTazC283f!%z=ZyUTl3ZuzsgGziqKdK@UwIq5^o?^7TR4lG6P z4NG-APJg)izxcY)+(__puYj1zqLvXtlLB6C(pmT;#Z%zgi6si1MO(OjZVR~Ws<55q zUhVhT@E;wjEfG;G9Gls8=1w>V-VCGa_uxiye`&VQ`5A_bk9e;54Vvc`P*^|R>zEF^ zr|hhrBkCs)R%l0Dc7J3%`ShY%*9BWR11x7}oejxN+Z%IDYbseIU0Ro28!@oe6@o}zUptcVd`!J%>!yY zSRt&Wz$EJ5V7kxG?q|yHCzJhqzAn&8s+`{Se(5=IifDCim?gJ4?W|Fk_bI5mzP`Fz z%-SyW@@UJW&ok5KZER#_zZF}4cWS`Nv`YzZwV9Lx?trJCUte20yY}NzaW{^2;8fwF zu$@J3*9)cX-;}Z)PQwg)eSN#2vRlf&D_q?C@dXE2%Rp18jqGwWJZEnKd6rW+VqeY9 z(sy@mPW^h_VR=hFODSkpHJ{@_jKZPb(ivdCPvB(a;@fym{dMiMR8HIZI$NFQT?5_I zx&QCC(@T7Bg|oOUXyL5+_wzaEYOU2lOS^pM+wE=fT=5zda1-QN*6sgSC2d=^Wh38a zuv3i`8=ilj=q`7%W~Hc&i2A&WMWEeG+urZ{opwnL?8QSY;Dd$@cc-15<)&yn6SSJ3 z!y%6|z^CZOhD1>4-Z67Y7iSdIs9@?iAGp}<=D*+XFa2kB`d_P83VHYOxcv6L-)?CycFRl`6llDp`r&cE{Vq|+>TBx%|6AoSPky@dT7kwUwT2%x zpH8ahp11w3vss?==<`=sSH~_?T(!_N@6L_|3s-yuZ5mPj@caFKY5rxP`<4&(frB2D zN|D~o30KlT=N{}T9xK}dUBHUYm(E)pO^jZBPXl*-Z}Uo3RVhq zobT4(cjMQ$x3k|VLN4*`aG1ui=f|V&GSE(#NvhtPN?c^!SX>r_a9&v(eLb%3XX@?L z>9MC=CIr+xTKgbD$LY*3T_aE#<1wA#IlxTEME5a>-u`r zSJe<}g_&L)HNRhTdE4#0-Di%dR~H*N8H<$7KB;;Uw9CjR;cm%g-)k#_)enN!B{2$~ zFl+=Zi(H$b@Nwp2?uD1T9U6syyxo3(P2Aopz4|>tOTA`x`#U|=uvn6{owY7~#ZRRP z$xIb?pgZC~Hz)T+FS-m0@dl0!bM6JY%cjcL{aBa)DqbCKvDE$hnLd5q&YYW@T8?{2 zl${p*P!lAmdvTX8=lNy4E)FbSvlxUUL91g;^Y86hV!7foIPvqd2+Um@y?xtK@9EE+ zi?6VOE~Qre@N{~-)!Z4TA3LSLzT5r2>~$?9^T#szq}cv`vso){nw|q>t7@dmhri$N z?@s+PNzx$g;})wa932i51!q{7uPc3VL2+g0nk6>#TW)`QdHMKXNQlXT&to>ty>;bY z)ob0`Ww&!LTef@yO|~)$o-krmV~wwRshT{K1)QapI5((Tp11%1XUVi&FRz+y85a*l zZOuwGzf<6B^%lCUid#%)!~Q={^^d)YxVkFT6`VC(6!OC$1FRi}>T$CC{k-Fl_Wa&ByJIer;bY%2*&W_Y-5Z}s$OjSLzHTv9%xQRG;_aSo!*W zzp@V9oh&qedVJkZ(2_*Z4eTxKSJ*%r1-cJR4Ufz0xBV6o^pimeTsSKQ7_vnC>N+&3 z0juJY2`c_TxvooF*4!Pj1JsUX;w2w7C`~3X8IAmvSqm3eX zDd#NH?3_a_oRyc9Or2R=7F^&k$+~hv$}A_t-|lD1p=Ii-cAj#nf=O$cr%qT7T4dMZ zoUs4zx6O0Q@7+AsFR$+ga-#xMrPG5h?R6W{=T#oNSM&L-P3FW|icCrY9xMeqbLxJ* zT$ge4!NF!>Gh5A%Cj(cswSC{5dwUxv|0+=ObWu=okYjjlKey)7$+C|}#ku<+W$HWu zhmx{)cW#R5#bnIR-&Z+ri`Q8JMnMe`rtSCZcCY3xIi+?@*_I)~~Em~kU*NMetK?Fy@ ziZ=_}YH0oibd_1+5?#&jams z=jwn4s32&)JNPPul#`QevS-c$ElEAka?bL(O!Us8rJ&Q2%PzW#t6sgbi_>+*YbZy;o~)hkB>1ySI)Mxl-A3VL)DL#SywcqEeaOs#_h3K*$i5Z+jvRMfvKun zOgCogo8RyE@86QR;yWl&O*qaXFmH*QK?fw~DKXXl{Tv1onz+)dp`B*&-|M^{ zP2LMSSzX+z{ATKO)mkCY(&K+(*Ew}%>(nN8^b&#O}3@j2Zljhfh zii4#aQ$Ruj{Rg7+_ojB7U%&s~tz|wllXkz^ZszqwwE&c9j$ihB{}M$n?twbzd?2zn`Ww7~T$yWj~q#zpakdVjuL z_CIDcr@}6H>y{(x>X~-JecrckfvK z3cRdJM85I+{rda2w&&+xT^(M2`t{W{k(+;5t&{^@bmo(Aagpn}g$HKM1FhS-bx|<0 z+y7cq*7bFBOW)kMn78xkv?j?tecDb?V@%mTqy=s@fu7_I(wUzH*ft7S|nKd`kHQ2 z+)8dG1*Vlk6~A6Cf7`^ZS714>nVo;zxw+QMt2(}JJMU3bwB+@=-RF+}dAH~DIlZ4I zSC?GwiCPa@?O5dZV0wIAVdAz5+w*q6b9TR2)LnE>%@n+s*+s#aNoTK<%4xIPImw@& zoh@cEx$KyprhDlgsPXOl;L~aS?S+qzfp)XpHS$@hvr=gNTFGvIzMkpH2O1c+eZ3YP zy}#~n%)045EG`RnfSa*p@ArPcb(r7&jot5ln@=6p7T`XE14~!)0e<^G4{YS(Yrjt2 zSaYrJ_uJ<#FVtq|1j)#T=({+uBne5F<;*D7S{JkPQs!=M{XGWROExLlWu84V)A(-E z;{E^s?Urr;)nuw`KrQsH?gMiyi{HGj|Gzt$y^oQj^8O!vP?5zbsNu)7=J9c-PuA~t zEMDEx?Y<>?dtTUbzqyazY^YLYQuS(Za&p-My1@aoJkR{*mcxA3DO2699Z_GKl$ey% zsO~f4!6B1Xp{vu<=M)~>b;=_$cPF13lTtt;3uuEp=)?=*Ioe@sHmu!t>y+x8`DM2< z!*&)u<;rgNQvsEbupq~`EX zJlW>Z$BvT6znlI994q_%W^=#v^N+iOmU^lBXnv1fZoy;Uv+~dVi~s*tU(C&@-Qm9@ ze#hGT>(*TVV{u7d`PY8=??-Rx)#%H}|0+zfNaKzFoP7L)){$ymt9?D+{~wdi&-r5@ z_sIPA&;5tLSL9yyH7|YNTJIj8>~l0*G*@S7i}S;s&*vE{-Q-xFZj`xx@3*2wo0YDm z>5G4qY)YB<2z0qt+WC38Q(mr(+PW%m0ZVFcc}chKwt{(+KeQX|Tcbbqg&TMNuL$#u zir_Z$z4x!}7n4)pQ(5_c`~AA;>$3kJa((Zwo3SXV_xshSf8=1;VOoQ>izPYASp z_^y#oO@Gaoi|+4sw;0NHpZ`49sq~KhpNIT;caFc;-G1lNUxS4=w`5)}6+Zi~+V)y` zWyu|pY#Y(+*%89eA697HIo`i|QSzou$GR?Vj8G~R>l6KZzej)ZqxCuqB}Drk{@ZvY zwM0hv@BMzqLxwH)+xGq5|M&O)f4^2s-!JH0e7p7dr{8VKb6(uP_|e}YkL$Sk!wOAM z+y-0ZamRm7-uGd#@cXS1k55IcuRK=J&-M9(?Y-yhasSNU|NdW@`}Wq>*L4C5;yO0f zsoDQCjeFjHea4xO?|_qWm?zdw`NpR^Z^p;<$9Jv#^Y7yK zNk8xB3)}JhZPxfBYjr&izno7FNdk(H@<*UCg~OmMdPl*+=vl4zd%k{H zVX!Xw!rOY|dxw*Ez1?p^?u18Gveargex7Bv}FDjJ3zwqGhH{_LsK4ci}yIp+V_O8^MKXbEJ2Yj6Q`rNBOslpxK8GVkd z)p;oYZnj56EC1XV%<6&CU-p4&ZBSRDfkTA3anqu&LY1!$t=Ly^JK}hc`lgE7tE)ou zI8CSBJlK4U#p&&>t+5`atr?HDDvLY}+$iqfGhJ0Ene*6(ttsovuN)M5UvDqgtA1*+ zV97#_o`15v8QpEKi~1rK?mqc#Wx)2yKXk5WFE4}iE+JNSIEZmR*f`I=ejj*eulaY?$>^w zd-|oymTwcB`8L}B``FKA->VA=8=`!t@V}_Cyzx5jf z&?d=rEf}E>i&Fm-@Zea+jp|J0yNoz9lb(=spZC|9Inc_#%X5^uEpeD zTQf8I_rxZr+xh!zkD9ooYgRG|%~!4Go}$m-WC_|a5xu8kV|2x=)}_%~vr^YaZ!gQ1 zhF1BICgZ7g2E}dO)AdSEFY}peb=B_wpW@r)_iJMn6^}gkvwj<5r+zKaRe_JO)Bmp2 zQ!j>#mPtoAs((J6zBcRXs&z$D{JZV{|2*$k^GP5@SJP%O=ydqEyI!vgTN$*pD0ea+ zc$^aw#Yg=b48;}|-`bM-?I64SjXvvlFI>`ZZ_8a<_xIP)d$nKn{XwT9y=>K-mS%X{ zEborR_Y2Bfl0iMi+-*0HWnEj7DV@7zqHgrIGsk))AItT%)Xu4TwK6YO)2m)Te&3x+ z@00Ecg~{KN<(*tX=R&Y(H*Kr>`s!UNxHkn!mQ$=6^Y{O~)_No8;J04$dj>_e(OWVe zE;<*nJ$Uk;rFHF3w*42Hzw>GQm-OSGEo*)hC|?I{s?EErVKYxUf6vC(zd=nTr=rL+ zGbY5`Q@{E5_xt_ZpUppy=uB%?6uZc`+mRMZC3Rq&MT#L?+ z{i1W#5s_v)+(G*fK)W@qE_ymD9*e86ir$v<@|d@j_RD)G*_njq|11#g+QDn{<5<6Z z{&~CKYf9hVx@uMOV#B%`b2%R|W48(=D^B*CC6|5YiWk4VwN=kO@n92cUfa6F!)@z$ zEZ*0CI;pPLGrcQ!3bXx}3(jkco}O~`35-P~rN$pD62gH#9RktELVISfNbp`IESPE} zctRXxcadt>7TK1nH4z&RiRnhAfNqJgWV`p;^TwMgn!!0&Rs`ndt~@u_+S>5t{r_*b z-;epB+ca4|egQ|~DW?-1*R?`d?cmzQwOjX+w8vd|cI)tN_$Z*b4YVWU@9+Enw`E;j zwbS#bGoR&=S65al7b#6BXHl{H{BDv+e6zrWIF~ljy!yXi!^N#$J3E6a-|&(X-RC!X zC}jQocxcOy6)W8#i3&st%w`b&u;#L-ibSb##5q3w^x0;)Ydj~bMFl#T``rWG*nHbN zcn+`f^x~_lLf3T&u(k+H0BtOoD05yaIO@(0i}ky!RKZO{(BUPrOghQ#aq9Me_CB9i zZRM}tDy?}$L%6XL9;@%~ksFpHm>{^rd3` zJs+CR&N4kM8hPaM$xoUh$x}KV6a^>z&{?uNlqGj*gaChl%`6egMN-i={c72j`~LlU z?YCmn-HYz>x*sE1zBlZG7zgsU45QZdeLo&`n-xFvF_+x`e&6q1Cx0ySovl{RkgLj6 z>E`gr_`IHnrb)X><+Vk(lDc(sHlH=?zMbk+xU%E);c0Ipx?DqZy&v)g%7cc9LHpph zaBe6$W&M6nvT@p(4WNFWlu5>eJ#*LG_B_iolS4#{vGcss-Xhj}dGjB4?)dX&^Z7X| z)>Dt?Kn9ur5 z>y39C4)e9%G2I%=A_FR_I4o5+)ch=xwy)ds@i%CaW$LX-nmS)TpSQn#Wo2;gnHh$8 z^Zn*p-PGItM(KQp-}+^K@RDi*ALFG-5yE$$mj*pvRQdUtU&*8@72(DtMTL)%I^mlf zejj{v0(5D%(x(N@e4Fb2{<^trcHXQF=4%9hfy%WlnU{O^_uG8(SRKEA-;s2uqFa!z zoCAxCLOh4S!>>=L$KTph`T0$+`MnKGy{GT`$aBx{lXa?6Kn{zFUH98Av55LV&gBQ2 zSoKOkoi)ExpFPb5=ZdKQde|<%#Vw;Tw%jxvGy(uBz7Mfd;2Xjo8yv-8FuS4uX@O)K;xmx14J;;k1^Ai+-)2#_zVH9sB$Zz5G?zE-QEM>&{A%@jvty>9%^;y`qfFP|p1t}QsAgXG&i(nhxoh+9@AF!C z>T2tX1)sfY!UQtrs#P+H$b&YZg2pZVYQDX@YrWFu!Uvv~$CIo-KAWAtOJJH_?5>R7 z3s3YLw?WR+1XcMB2X5!@&sCpO(B#ei>$v^DM9>L64>FGK)qZ$vZS;1tY11v=@A>@Z z&*$^{@A#%yyjQXF{=;_S_`A(~8mCtnB=5Ky7QJ&x^{RbKlj?de=-$x%o&MbPXs|!?kmPh!WRl%gL!?`Mm-AL?Sl)oa}E`7@uUC zb;aZLkCWS+Z-a*D8aO%}T!k$j_ZY`;d1v^%kSji8=oZ@&xjAj;EslFX?B`#fX!GTQ zbF3`;ks>qR{@bD9v8gil(Pl+YJV4`TpiMhv-)^R-zuv%FJ?FIE?lW@re+oh4h-<38 zzAF6P*#2YJ>vfy^WUX(#-F`oA!{5-ur_~fbuC!KJ nrS#Vxz>8s=N^(JWn^0i+A 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. - -================= -Staking mechanism -================= - -Staking is an evolution of the existing Tezos :doc:`Liquid Proof-of-Stake -mechanism `. It -introduces a new role for network participants, called **staker**, -complementary to the existing :ref:`delegate ` -(also known as *baker*) and *delegator* roles. A staker must also be a -*delegator* – that is, they must first choose a delegate. - -When stakers **stake** funds towards a delegate’s **staking** -**balance**, the associated **baking** and **voting powers** accrue to -that delegate. Similarly to how delegated funds work, staked funds -remain within the staker’s account at all times. - -Staked and delegated funds **have different weights** in the computation -of delegates’ baking and voting powers: staked funds (both external -stakes by stakers and the delegate’s own) count **three times** as much as -delegated funds. - -Unlike delegated funds, staked funds are considered to contribute to the -security deposit associated with their chosen delegate. Thus, they are -subject to :ref:`slashing ` if -the delegate misbehaves by :ref:`double-signing ` -block proposals or consensus operations, and are subject to the same -withdrawal delays – colloquially, they are "frozen". - -Stakers are slashed proportionally to their contribution to the -delegate’s staking balance. To simplify slashing, double-baking -penalties are now proportional to staked funds: instead of the previous -fixed sum of 640 tez they are now set to 5% of the delegate’s stake. -Moreover, denunciation rewards (both for double-baking and -double-attestations) are reduced from one half to one eleventh of the -slashed funds. The chosen value prevents adversarial delegates from -abusing the slashing mechanism for profit at the expense of their -stakers. - -:ref:`Participation rewards ` are automatically shared -between delegates and their stakers. Staker's rewards are proportional to their -participation in the delegate's total staked at the time the rewards are given. -This means that the staker gets rewards for staked tez as soon as they are staked, -and stops receiving rewards as soon as the tez are unstaked, disregarding the -fact that baking rights for the delegate are computed with some delays. -*Delegates* :ref:`configure their staking -policy ` by setting staking parameters -which regulate whether they accept stakers (the default being to reject -them), and if so, up to which fraction of their total staking balance. -They can also configure which proportion of the staking rewards from other stakers is set -to accrue to their own staked balance instead, thereby collecting an *edge* from the -rewards attributable to their stakers. - -Freezing and unfreezing of staked funds is controlled directly by delegates and -stakers. -This entails that staked funds are frozen until manually -unfrozen by stakers. This is a two step process which spans for at least -4 cycles (cf. :ref:`Staked funds management `). - -A user interface is provided for delegates and stakers to interact -with the mechanism. It is based on four *pseudo-operations*: ``stake``, -``unstake``, ``finalize_unstake``, and ``set_delegate_parameters``. -Pseudo-operations are self-transfers: a transfer operation where the -destination matches the source – each involving a special entry-point of -the same name introduced for :ref:`user accounts `. -This approach was chosen to minimize the work required by wallets, -custodians, exchanges, and other parties to support the functionality. - -**NB** In the current implementation, only *user accounts* can become -stakers. In other words, smart contracts cannot stake funds (they can -of course still delegate them). - -.. _staking_policy_configuration: -.. _staking_policy_configuration_quebec: - -Staking policy configuration ----------------------------- - -*Delegates* can configure their staking policy by setting the following -parameters: - -- ``edge_of_baking_over_staking``: a ratio between 0 and 1, whose - default value is 1. This parameter determines the fraction of the - rewards that accrue to the delegate's frozen deposit – the - remainder is shared among its stakers. -- ``limit_of_staking_over_baking``: a non-negative number, denoting - the maximum portion of external stake by stakers over the - delegate’s own staked funds. It defaults to 0 – which entails that - delegates do not accept external stakes by default. It is moreover - capped by a global constant, set to 9 starting in the Quebec - protocol, which ensures the baker controls a significant part of - the stake. - -Delegates can modify these staking parameters at all times, using the -``set_delegate_parameters`` pseudo-operation: that is, by transferring 0 -tez to their own ``set_delegate_parameters`` entry-point. The chosen values for both -parameters need to be supplied. The new parameters are then applied -``DELEGATE_PARAMETERS_ACTIVATION_DELAY`` (currently 5) cycles later. - -:: - - octez-client transfer 0 from to --entrypoint set_delegate_parameters --arg "Pair (Pair Unit)" - -or more conveniently:: - - octez-client set delegate parameters for --limit-of-staking-over-baking --edge-of-baking-over-staking - -**On overstaking and overdelegation.** Note that if a delegate’s -``limit_of_staking_over_baking`` is exceeded (that is, the delegate is -*overstaked*), the exceeding stake is automatically considered as -*delegation* for the delegate’s baking and voting power calculation, but -it does remain slashable. The new mechanism does not alter -*overdelegation* (delegated funds beyond 9 times the delegate’s own -stake) nor its consequence on voting and baking powers. That is, -overdelegated funds are not counted towards a delegate baking power, but -they do increase their voting power. - -.. _staked_funds_management: -.. _staked_funds_management_quebec: - -Staked funds management ------------------------ - -Stakers (and delegates) can use the ``stake``, ``unstake``, and -``finalize_unstake`` pseudo-operations to control their stakes. Figure -1 illustrates their effect on a staker’s funds. Note that -while these pseudo-operations change the *state* of the involved funds, -they remain otherwise within the staker’s account at all times. - -.. note:: - - Due to rounding that occurs at various stages of fund management, - stakers' staked balances may deviate by a few mutez (millionth of - tez) with respect to transferred amounts. - -.. figure:: staked_funds_transitions.png - - Figure 1: staked funds management using pseudo-operations. - -To *stake* funds, a delegator uses the ``stake`` pseudo-operation, -transferring the chosen amount of **spendable** tez to their own -``stake`` entry-point. The **staked** tez will then be frozen and -contribute to their chosen delegate’s staking balance. Note that the -``stake`` pseudo-operation will fail if the sender account is not -*delegated*. - -:: - - octez-client transfer from to --entrypoint stake - -or more conveniently:: - - octez-client stake for - -To *unstake* funds, a staker first submits an unstake request with the -``unstake`` pseudo-operation. This is implemented by transferring the -chosen amount in tez to their ``unstake`` entry-point:: - - octez-client transfer from to --entrypoint unstake - -or more conveniently:: - - octez-client unstake for - -The requested amount will be **unstaked** but will remain **frozen**, -a.k.a. **unfinalizable**. -After 4 cycles, unstaked frozen tokens are no longer considered at stake -nor slashable. They are said then to be both **unstaked** and -**finalizable**. - -A staker can retrieve all unstaked and finalizable tokens at any time, -making them spendable again. This is done using the ``finalize_unstake`` -entrypoint -– that is, by transferring 0 tez to their -``finalize_unstake`` entry-point:: - - octez-client transfer 0 from to --entrypoint finalize_unstake - -or more conveniently:: - - octez-client finalize unstake for - -In some circumstances, unstake and finalize can be done implicitly: any call -to ``stake`` or ``unstake`` will implicitly finalize all currently finalizable pending -unstake requests. Also, as we will see next, change of delegate triggers an -unstake operation. - -Change of delegate ------------------- - -When a staker changes its delegate, the operation will trigger an implicit unstake -request for the full frozen deposit of the staker. - -As long as the unstake request is not finalized, the frozen tokens will continue -to be delegated to the old delegate, however the spending -balance of the account is accounted in the new delegate's stake. -It will not be possible to stake with the new delegate as long as there are -unfinalizable unstake request for token staked with the old delegate. diff --git a/docs/quebec/tickets.rst b/docs/quebec/tickets.rst deleted file mode 100644 index be6838a3940f..000000000000 --- a/docs/quebec/tickets.rst +++ /dev/null @@ -1,152 +0,0 @@ -Tickets -======= - -Tickets are a special class of assets on Tezos that contracts can construct and store, and that can then be transferred between contracts, user accounts, or rollups. -They are useful to model ownership of some digital artefact, existing in a limited number of copies (or instances); this can further serve as a basis for restricting access to the artefact and permissions to use it. -In this document, we will explain the semantics and lifetime of tickets, including creation, transfer, and destruction. - - -Semantics ---------- - -A ticket represents a digital artefact existing in a limited number of copies (or instances). -As such, a ticket has the following four attributes: - -#. ``ticketer`` is the creator of the ticket, which is always a Tezos smart contract. - -#. ``contents`` is the :doc:`Michelson <./michelson>` expression attached to the ticket. - -#. ``content_ty`` is the :doc:`Michelson <./michelson>` type of the ``contents`` data. It can be any comparable type. - -#. ``amount`` is the amount of the ticket. It is a strictly positive whole number. - -Furthermore, a `ticket `__ cannot be duplicated -with the `DUP `__ -or the `DUP n `__ instructions. - - -Operations on tickets ---------------------- - -Creating -~~~~~~~~ - -Tickets can be constructed by smart contracts. To construct tickets, smart contracts use the ``TICKET`` -`instruction `__ with some ticket amount, -ticket content type, and value as inputs. -Smart contracts then may store them in contract storage or transfer them along to either -other contracts, rollups, or user accounts. - -Tickets cannot be constructed with instructions for duplication, such as ``DUP``. -Therefore, the issuance of tickets is completely within the control of the ticketer contract by -invoking ``TICKET`` instructions. - -Splitting -~~~~~~~~~ - -A ticket can be split into two tickets with the same ``contents`` and ``ticketer`` values, -as long as the sum of the ``amount`` of the two tickets is equal to that of the original. -This operation allows tickets to be spent across several transactions -by breaking tickets into smaller tickets. -Smart contracts may split tickets by invoking the `SPLIT_TICKET `__ instruction. -The ticket splitting is done automatically when a user account transfers part of a ticket. - -Joining -~~~~~~~ - -Tickets issued by the same ``ticketer`` contract with the same ``contents`` data of the -same ``contents_ty`` type are considered of the same kind. -Therefore, two such tickets can be **joined** into one ticket and the output ``amount`` -will be the sum of those of the two input tickets. -Smart contracts can join tickets via the `JOIN_TICKETS `__ instruction. -Tickets of the same kind are automatically joined when they belong to the same user account. - -Transferring -~~~~~~~~~~~~ - -Once a ticket has been constructed by a smart contract, it may be transferred to other contracts as follows: - -- *Smart contract to user account*: Smart contracts can transfer a ticket to user accounts - via `TRANSFER_TOKENS `__. - To do so, the contract needs to cast the address of the target user account to type ``contract (ticket cty)`` where ``cty`` is the type of the content of the ticket to be sent. This can be done using ``CONTRACT (ticket cty)``. - The rest is the same as making a contract call. - The following Michelson snippet is an example sending a ticket of amount ``10`` with a ``string`` content - ``"some ticket"`` to a user account address made available at the top of the stack. - -:: - - # Stack: address :: S - CONTRACT (ticket string) ; - # Stack: option (contract (ticket string)) :: S - ASSERT_SOME ; - # Stack: contract (ticket string) :: S - PUSH mutez 0 ; - # Stack: mutez :: contract (ticket string) :: S - PUSH nat 10 ; - # Stack: nat :: mutez :: contract (ticket string) :: S - PUSH string "some ticket" ; - # Stack: string :: nat :: mutez :: contract (ticket string) :: S - TICKET ; - # Stack: option (ticket string) :: mutez :: contract (ticket string) :: S - ASSERT_SOME ; - # Stack: ticket string :: mutez :: contract (ticket string) :: S - TRANSFER_TOKENS ; - # Stack: operation :: S - -- *Between smart contracts*: Contracts can send tickets to other contracts via regular contract - calls using the instruction ``TRANFSER_TOKENS``, - as long as target contracts accept tickets of matching content type in their ``parameter``\s. - -- *Between user accounts*: User accounts can transfer existing tickets they own to other user accounts - with ``Transfer_ticket`` operation from their wallets. - For instance, ``octez-client`` can be invoked in the following way by a user account holder ``alice`` - to transfer a ticket of amount ``10``, type ``string``, content ``"some ticket"`` and ticketer ``ticketer`` - to another user account held by ``bob``. - -:: - - octez-client transfer 10 tickets from alice to bob with entrypoint default and type string and content '"some ticket"' and ticketer 'ticketer' - -If the amount of the ticket ``"some ticket"`` owned by ``alice`` was greater than 10, -this transfer would cause an automatic ticket split, -after which ``alice`` would continue to own the remaining amount. - -Note that the above command uses the expression "transfer 10 tickets" of the given kind, -instead of "transfer a ticket of amount 10". -Indeed, by virtue of automatic joining of tickets of the same kind belonging to the same user account, -this formulation does not introduce any ambiguity: -the user account cannot hold several distinct tickets of this kind. -Of course, these expressions would not be interchangeable for tickets belonging to a smart contract. - -- *User account to smart contract*: Using the same ``Transfer_ticket`` operation, user accounts - can also send their tickets to smart contracts. - In this case, the entrypoint, as defined by the specification of the target contract, must accept this kind of tickets. - Here is an example using ``octez-client`` to transfer a ticket of amount ``10``, type ``string``, - content ``"some ticket"`` and ticketer ``ticketer`` owned by ``alice`` to a contract ``receiver`` accepting tickets - at the entrypoint ``save``. - -:: - - octez-client transfer 10 tickets from alice to receiver with entrypoint save and type string and content '"some ticket"' and ticketer 'ticketer' - -In this case, too, automatic ticket splitting may happen, under the same circumstances. - -.. note:: - - This page does not cover transfers of tickets to/from rollups. For that, refer to the documentation pages of particular rollups (e.g. :doc:`./smart_rollups`). - - -Destroying -~~~~~~~~~~~ - -Only smart contracts can destroy tickets, by simply dropping them. -That is, by not storing them anymore -in the contract storage and not sending them to other contracts. -User accounts, on the other hand, cannot destroy any ticket in their possession. - -For instance, a user account ``A`` may receive a ``string`` ticket of amount ``2`` with -content ``Lorem ipsum`` created by a smart contract ``B``. -``A`` may send amount ``1`` of it to a smart contract ``C``. This automatically splits the ticket into two tickets of amount ``1``. -Now ``C`` may destroy this ticket by dropping it and ``A`` will still hold a ticket of amount ``1`` -with a ``string`` content ``Lorem ipsum`` created by ``B``. -It will remain in the possession of ``A`` until ``A`` sends it to another user account or smart contract. diff --git a/docs/quebec/timelock.rst b/docs/quebec/timelock.rst deleted file mode 100644 index 57748e0d69a5..000000000000 --- a/docs/quebec/timelock.rst +++ /dev/null @@ -1,61 +0,0 @@ -Time-lock -========= - -Time-lock is a cryptographic primitive that can be used as part of a commit & reveal scheme, to provide a guarantee that the information associated to the commit phase is eventually revealed. - -For more background information on time-locks and their uses, see `Timelocks `__ in the Tezos documentation. - -Cryptographic design --------------------- - -The time-lock features are supported in Octez by the :package-api:`Tezos_crypto.Timelock library `. - -Users first generate a RSA modulus and a symmetric encryption key. -They use authenticated encryption to encrypt a packed Michelson value (an array of bytes computed with ``PACK``) -and encrypt that encryption key using a time-lock puzzle. -They then combine the RSA modulus, the time-locked symmetric key, the constant ``T`` -and the encrypted value as a single value as well (called ``chest`` in our library). - -A proof of decryption can be the symmetric key itself. -However, a malicious user could propose an authenticated ciphertext that does not yield a valid value -even when decrypted with the symmetric key that was indeed time locked. -To avoid this threat, an opening (called ``chest_key`` in our library) includes the symmetric key and -a proof that the symmetric key proposed is indeed the one hidden in the time-lock puzzle. -In this way one can differentiate whether the chest or the chest_key was proposed by a -malicious user. - - -Opcode and types ----------------- - -To expose the features of this library, the Michelson language provides the following types: - -- ``chest``, which represents time-locked arbitrary bytes with the - necessary public parameters to open it. -- ``chest_key``, which represents the decryption key, - alongside with a proof that the key is correct. - -and the following opcode: - -``open_chest :: chest_key → chest → time → bytes option`` - -``open_chest`` takes a ``chest`` and a ``chest_key``, and produces either the underlying plaintext -or indicates that the ``chest_key`` is malicious. -If the ``chest`` is not well-formed (which is possible since we use authenticated encryption), -the empty Byte is returned. - - -Implementation of the time-lock puzzle --------------------------------------- - -The implementation of the time-lock puzzle -and proof scheme is located in :src:`src/lib_crypto/timelock.ml`. - -To facilitate the use of time-locks, commands have also been implemented in Octez client to generate a ``chest`` and ``chest_key`` as well as to open and verify them. An additional command ``precompute`` was implemented to fasten the time-lock ``chest`` generation. - -For more information on the client commands, see :doc:`cli-commands`. - -Example -------- - -The built-in :src:`coin flip contract ` gives an example of using time-lock. Beware this contract is for educational purpose only and is not secure. diff --git a/docs/quebec/token_management.rst b/docs/quebec/token_management.rst deleted file mode 100644 index b08a2b90bad8..000000000000 --- a/docs/quebec/token_management.rst +++ /dev/null @@ -1,244 +0,0 @@ -Token transfers and balance updates -=================================== - -This page describes the reporting of tokens transfers in block metadata, as a sequence of balance updates. They serve among others to the Octez client to derive and print the ``Balance updates`` sections of the receipts reported when operations are included in blocks. - -Overview -~~~~~~~~ - -Minting, transferring or burning tokens is handled by the :package-api:`Token ` module. -The module provides functions (``Token.transfer`` and ``Token.transfer_n``) to transfer tokens from one, respectively from more accounts, to another account. -Balance updates found in block metadata are generated by these functions as a trace of the token movements having taken place. - -Balance updates indicate that either: tokens have been minted and deposited into an account, transferred from or to another account, or taken from an account and burned. -In the Json format, a balance update consists of three parts: - -- an account identification indicated by a combination of fields such as: ``kind``, ``category``, ``contract``, ... - -- the amount transferred (in mutez) indicated by the field ``change``. - A positive amount indicates that the account has been credited, and a negative amount indicates that the account has been debited. - - -- the cause of the update given by the field ``origin`` which may have the following values: - - * ``"block"`` means that the balance update originates from the application of a block - * ``"migration"`` means that the balance update originates from migration - * ``"subsidy"`` means that the balance update originates from subsidies for liquidity baking - * ``"delayed_operation"`` means that the balance update originates from the delayed application of the operation whose hash is given in the additional field ``"delayed_operation_hash"``. - - -A transfer of tokens is represented by a continuous and ordered sequence of (balance) updates. -That sequence starts with a series of debits, and ends with a credit matching those debits. -In block metadata, the field ``"balance updates"`` contains one or more transfers, represented by their sequences of updates, concatenated in a flat list. -Consider for example the following list: - -:: - - [ {"kind": "...", ..., "change": "-100", "origin": "block"}, - {"kind": "...", ..., "change": "100", "origin": "block"}, - {"kind": "...", ..., "change": "-125", "origin": "block"}, - {"kind": "...", ..., "change": "-75", "origin": "block"}, - {"kind": "...", ..., "change": "200", "origin": "block"} ] - -This list reports that two transfers have occurred: a transfer of ``100`` mutez from one account to another, and a transfer of ``200`` mutez from two accounts to a third. -There is one exception to this though: migration balance updates are a bit compressed to save space, so the list of balance updates in the corresponding metadata does not necessarily allow to correlate debits to a credit by analyzing the sequence. -However, for those balance updates, the ``delegate`` and ``contract`` fields can be used to establish correlations between debits and credits. - -Source, container, and sink accounts -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -There are three kinds of accounts: source accounts, container accounts, and sink accounts. -Tokens can be transferred from source or container accounts, to container or sink accounts. -All balance updates contain the field ``kind`` which allows to determine the kind of account it refers to. -The possible values of this field are described in the following sections (they are not simply ``"source"``, ``"container"``, and ``"sink"``). -Depending on the kind of account, more fields such as the ``category`` field may be used to identify accounts more specifically. - -Source accounts ---------------- - -Source accounts are debited whenever new tokens are minted. -A balance update refers to a source account if and only if the field ``kind`` has the value ``"minted"``. -The value of the additional field ``category`` designates one of the following fictitious accounts, each containing a virtually unlimited number of tokens: - -* ``"nonce revelation rewards"`` is the source of tokens minted to reward delegates for revealing their nonces -* ``"double signing evidence rewards"`` is the source of tokens minted to reward delegates for injecting a double signing evidence -* ``"attesting rewards"`` is the source of tokens minted to reward delegates for attesting blocks -* ``"baking rewards"`` is the source of tokens minted to reward delegates for creating blocks -* ``"baking bonuses"`` is the source of tokens minted to reward delegates for validating blocks and including extra attestations -* ``"subsidy"`` is the source of tokens minted to subsidize the liquidity baking CPMM contract -* ``"invoice"`` is the source of tokens minted to compensate some users who have contributed to the betterment of the chain -* ``"commitment"`` is the source of tokens minted to match commitments made by some users to supply funds for the chain -* ``"Sc_rollup_refutation_rewards"`` is the source of tokens minted to reward an account for winning a smart-contract rollup refutation game -* ``"bootstrap"`` is analogous to ``"commitment"`` but is for internal use or testing. - It will not be used during normal operation on mainnet, but may be used on test networks or in sandboxed mode -* ``"minted"`` is only for internal use and may be used to mint tokens for testing. - It will not be used during normal operation on mainnet, but may appear on test networks or in sandboxed mode. - -Container accounts ------------------- - -Container accounts are regular (user and smart contract) accounts, or convenience accounts that hold tokens temporarily (e.g. when parts of a delegate's funds are frozen). -The field ``kind`` allows to identify the type of container account, it can have one of the following values: - -* ``"contract"`` represents a user account or smart contract, and comes with the additional field (also called) ``contract`` whose value is the public key hash of the user account or the contract hash of the smart contract. -* ``"freezer"`` represents frozen accounts, and comes with the additional field ``category`` that can have one of the following values: - - - ``"deposits"`` represents the accounts of frozen deposits. - Accounts in this category are further identified by the additional field - ``"staker"`` whose value is either - - - a ``"contract"`` field, that contains the public key hash of the staker - owning the funds and a ``"delegate"`` (public key hash) which gets staking power - from the deposit, - - - just a ``"delegate"`` to designate collectively the deposits of all - stakers delegating to the provided user account. - - a ``"baker_own_stake"`` field to designate the delegate's own deposits received from its own stake rewards. - - a ``"baker_edge"`` field to designate the delegate's own deposits received from the edge on its staker's rewards. - - ``"unstaked_deposits"`` represents the accounts of unstaked frozen tokens. - Accounts in this category are further identified by the following additional fields: - - - the field ``"staker"`` whose value is either - - - a ``"contract"`` field, that contains the public key hash of the staker - owning the funds and a ``"delegate"`` (public key hash) which gets staking power - from the deposit, - - just a ``"delegate"`` to designate collectively the deposits of all - stakers and the delegate itself. - - the field ``"cycle"`` contains either the cycle at which the funds have been - unstaked or the last unslashable cycle (``MAX_SLASHING_PERIOD + - CONSENSUS_RIGHTS_DELAY`` before current cycle) if it is greater than the unstaking - cycle. - - ``"bonds"`` represents the accounts of frozen bonds. - Bonds are like deposits. - However, they can be associated to user accounts or smart contracts, unlike deposits that only apply to user accounts that are also delegates. - Accounts in this category are further identified by the following additional fields: - - - the field ``contract`` contains the public key hash of the user account, or the contract hash of the smart contract - - the field ``bond_id`` contains the identifier of the bond (e.g. a rollup hash if the bond is associated to a transaction or a smart contract rollup). -* ``"accumulator"`` represents accounts used to store tokens for some short period of time. - This type of account is further identified by the additional field ``category`` whose (only possible) value ``"block fees"`` designates the container account used to collect manager operation fees while block's operations are being applied. - Other categories may be added in the future. -* ``"commitment"`` represents the accounts of commitments awaiting activation. - This type of account is further identified by the additional field ``committer`` whose value is the encrypted public key hash of the user who has committed to provide funds. -* ``"staking"`` represents abstractions used for accounting staking by delegators, and comes with the additional field ``category`` that can have one of the following values: - - - ``"delegator numerator"`` abstracts the delegator's stake, and comes with the additional field ``"delegator"`` whose value is the public key hash of the delegator. - - ``"delegate denominator"`` abstracts the total stake of delegate's delegators, and comes with the additional field ``"delegate"`` whose value is the public key hash of the delegate. - -Sink accounts -------------- - -Sink accounts are credited whenever tokens are burned. -A balance update refers to a sink account if and only if the field ``kind`` has the value ``"burned"``. -The value of the additional field ``category`` allows to identify more specifically a fictitious account able to receive a virtually unlimited number of tokens. -The field ``category`` of a sink account may have one of the following values: - -* ``"storage fees"`` is the destination of storage fees burned for consuming storage space on the chain -* ``"punishments"`` is the destination of tokens burned as punishment for a delegate that has double baked or double attested -* ``"lost attesting rewards"`` is the destination of rewards that were not distributed to a delegate. - This category comes with the following additional fields: - - - the field ``delegate`` contains the public key hash of the delegate - - the field ``participation`` has the value ``"true"`` if participation was not sufficient and has the value ``"false"`` otherwise - - the field ``revelation`` has the value ``"true"`` if the delegate has not revealed his nonce and has the value ``"false"`` otherwise. -* ``"Sc_rollup_refutation_punishments"`` is the destination of tokens burned as punishment for submitting bad commitments that have been refuted -* ``"burned"`` is only for internal use and testing. - It will not appear on mainnet, but may appear on test networks or in sandboxed mode. - -Token transfers and metadata -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Balance updates in block metadata give a complete account of all token transfers that have occurred when a block is applied. -A few cases of token transfers and the associated metadata are illustrated below. -All other cases of token transfers in the protocol follow the same pattern. -The only differences are the accounts involved. - -Origination and transaction ---------------------------- - -When an origination or transaction operation is applied, tokens are transferred from one contract to another. -Depending on whether or not storage space has been allocated on the chain by the application of the operation, storage fees may also be burned. -For example, a transaction of ``100`` mutez from address ``tz1a...`` to address ``KT1b...`` that allocates storage space for a cost of ``10`` mutez produces the following list of balance updates: - -:: - - [ {"kind": "contract", "contract": "tz1a...", "change": "-100", "origin": "block"}, - {"kind": "contract", "contract": "KT1b...", "change": "100", "origin": "block"} - {"kind": "contract", "contract": "tz1a...", "change": "-10", "origin": "block"} - {"kind": "burned", "category": "storage fees", "change": "10", "origin": "block"} ] - -Baking fees, rewards and bonuses --------------------------------- - -When a contract pays the baking fees associated to an operation it has emitted, those fees are temporarily collected (during the processing of the block) into the container account ``"block fees"``. -For example, when a manager operation is applied, the account of the payer contract is debited with the amount of fees and the ``"block fees"`` account is credited with the same amount. Hence, for ``100`` mutez in fees, the following balance updates are generated : - -:: - - [ {"kind": "contract", "contract": "tz1x...", "change": "-100", ...}, - {"kind": "accumulator", "category": "block fees", "change": "100", ...} ] - -When all operations of a block have been applied baking fees rewards and bonuses are distributed. -The total amount of fees collected and the baking rewards are transferred from the container account ``"block fees"`` and the source account ``"baking rewards"``, respectively, to the contract of the payload producer that selected the transactions to be included in the block. -So, for a total amount of ``1000`` mutez in fees collected and an amount of -``500`` mutez in baking rewards, assuming that the staking parameter of the -delegate are such that 50 mutez are frozen -- with 5 mutez being the delegates -edge, 10 mutez being the delegates share, and 35 mutez going to the stakers -- -and 450 are spendable, -the following balance updates are generated: - -:: - - [ {"kind": "accumulator", "category": "block fees", "change": "-1000", ...}, - {"kind": "contract", "contract": "tz1a...", "change": "1000", ...} - {"kind": "minted", "category": "baking rewards", "change": "-5", ...}, - {"kind": "freezer", "category": "deposits", "staker": { "baker_edge": "tz1a..."}, "change": "5", ...}, - {"kind": "minted", "category": "baking rewards", "change": "-10", ...}, - {"kind": "freezer", "category": "deposits", "staker": { "baker_own_stake": "tz1a..."}, "change": "10", ...}, - {"kind": "minted", "category": "baking rewards", "change": "-35", ...}, - {"kind": "freezer", "category": "deposits", "staker": { "delegate": "tz1a..."}, "change": "35", ...}, - {"kind": "minted", "category": "baking rewards", "change": "-450", ...}, - {"kind": "contract", "contract": "tz1a...", "change": "450", ...} ] - -The baking bonus go to the block proposer that signed and injected the block. -Hence the amount of the bonus is transferred from the source account ``"baking -bonuses"`` to the contract of the block producer and/or to its frozen balance. -For example, the balance updates generated for an amount of ``100`` mutez in -baking bonus with 90% sent to spendable balance and 10% to bakers frozen deposit -(case with no stakers and mainnet ratios) are: - -:: - - [ {"kind": "minted", "category": "baking bonus", "change": "-90", ...}, - {"kind": "contract", "contract": "tz1b...", "change": "90", ...}, - {"kind": "minted", "category": "baking bonus", "change": "-10", ...}, - {"kind": "freezer", "category": "deposits", "staker": { "baker_own_stake": "tz1b..."}, "change": "10", ...}] - -Attesting, double signing evidence, and nonce revelation rewards ----------------------------------------------------------------- - -Attesting rewards are reflected in balance updates as a transfer of tokens from the ``"attesting rewards"`` source account to the account of the delegate that receives the reward. -Hence, for a reward of ``100`` mutez, the following two balance updates are generated: - -:: - - [ {"kind": "minted", "category": "attesting rewards", "change": "-100", ...}, - {"kind": "contract", "contract": "tz1...", "change": "100", ...} ] - -When attesting rewards are not distributed to the delegate due to insufficient participation or for not revealing nonces, they are transferred instead to the sink account identified by the quadruple ``("lost attesting rewards", delegate, participation, revelation)``. -For example, for an amount of ``100`` mutez in rewards not distributed due to insufficient participation, the following balance updates are generated: - -:: - - [ {"kind": "minted", "category": "attesting rewards", "change": "-100", ...}, - {"kind": "burned", - "category": "lost attesting rewards", - "delegate": "tz1...", - "participation": "true", - "revelation": "false", - "change": "100", ...} ] - -Double signing evidence rewards and nonce revelation rewards are analogous to attesting rewards, except that the source accounts used are ``"double signing evidence rewards"`` and ``"nonce revelation rewards"``. -Depending on the staking parameters set by the delegate, some portion of the attesting rewards -will go to the freezer container, as for baking rewards and bonuses. diff --git a/docs/quebec/validation.rst b/docs/quebec/validation.rst deleted file mode 100644 index 2df0af9a557d..000000000000 --- a/docs/quebec/validation.rst +++ /dev/null @@ -1,410 +0,0 @@ -========================== -Validation and Application -========================== - -.. FIXME tezos/tezos#3921: - - Adapt to pipelined validation up to Lima and v7 environment - -The :doc:`economic protocol` is responsible for providing -the rules that govern the Tezos network, and for enforcing that these -rules implement a correct blockchain protocol. However, it does so -:ref:`in coordination with a Tezos shell`, who -ultimately implements these rules on its behalf. To this end, a Tezos -economic protocol must provide the shell with an interface enabling -roughly the following functionalities: - -- deciding whether an operation is *valid*, and thus can be safely - included into a new block in the blockchain; - -- deciding whether a new block is *valid*, and thus can be safely - appended to the blockchain; - -- including an operation in a block, and executing it on the - blockchain state, effectively modifying the ledger state; and, - -- appending a new block to a Tezos blockchain, and computing the - updated ledger state. - -From a higher-level, *abstract* perspective, the validation system in -the Tezos protocol implements this business logic in a functional, -state-passing machine where: - -- Its state is given by the :ref:`context`, the internal - representation of the state of the Tezos ledger at a given blockchain - level. For instance, the context contains the information of all - activated accounts and contracts, and their balances. More - generally, the context must provide enough information to determine - the validity of operations, and blocks. - -- The *apply_operation* method determines whether an operation is safe - to be executed in a given context. If so, it proceeds to execute it - and outputs the context resulting from the applied operation's - effects. - -- The *apply* method takes as input a block and a context, determines - whether the block can be safely and correctly appended to the - current head of the chain. If so, it appends the block to the chain - and outputs the resulting context, reflecting the state of the - ledger after the block has successfully been applied. *apply* relies - on (i.e., it should call) *apply_operation* to validate and apply - each operation in the block, and compute intermediate states. - -.. TODO #4155: - - When creating a new environment, update references to V in the - paragraph below (only in the doc for Alpha!). - -However, the *concrete* API exported from the Tezos economic protocol -does not implement this business logic *monolithically*, as described -above, but it rather presents a more fine-grained API. The rationale -is to provide specialized variations of the core *validation* and -*application* functionality, dubbed :ref:`Validation -modes`. For example, these modes enable the -protocol to distinguish operations "in the mempool", whose validation -is triggered by the :doc:`prevalidator<../shell/prevalidation>`, from -operations included in newly received blocks, whose validation is -triggered by the :ref:`block validator`, in order to -localize validation rules as needed. The resulting concrete API is -specified by the :package-api:`Protocol -` -module in the :doc:`protocol -environment<../shell/protocol_environment>` ``V13``, and it is -implemented by this protocol in the -:package-api:`Main` -module. - -The rest of this document is organized as follows: we first describe -the different validation modes implemented by this Tezos economic -protocol, and then we delve deeper into the particulars of validation -and application for blocks and the operations supported. - -.. _validation_modes: -.. _validation_modes_quebec: - -Validation modes -================ - -The Tezos protocol provides different validation modes, intended to be -used by the Tezos *shell* and *baker* software implementations when -needing to apply (or to assert the validity) of blocks and operations -under different, or specialized, circumstances -- for example, in -order to *bake* a block. For each of these validation modes, the API -specified by the protocol environment offers an entry point so that -protocol-agnostic components, the Tezos shell for instance, are able -to use these different modes. - -.. _full_application: -.. _full_application_quebec: - -Full Application -~~~~~~~~~~~~~~~~ - -The ``Full application`` mode is intended to be used to *fully* -validate and apply blocks. In particular, this mode is used to -validate and apply a **known** block, with a known operation trace. A -Tezos shell implementation should use the full application mode to -decide whether an incoming block can be safely included in the -blockchain. That is, all validity checks are enabled: the block's -signature is correct, and **all** operations included in the block are -valid; the correct amount of consensus operations have been included -in order to satisfy the consensus' threshold, etc. - -.. _full_construction: -.. _full_construction_quebec: - -Full Construction -~~~~~~~~~~~~~~~~~ - -The ``Full construction`` mode is intended to be used when a -*delegate* is trying to bake a block and therefore needs to filter the -validity of the desired operation trace, to include only valid -operations. This mode is mostly similar to the ``Full application`` -mode except that *some* global block validity checks are disabled, and -consensus operations are validated with slightly different -preconditions. For instance, since a delegate cannot sign a block -while it is being built, the signature check is disabled, and it will -be left to the baker to correctly sign the resulting block after its -construction is finalized. - -In Octez, this mode is mainly used by the baker daemon. - -.. _partial_construction: -.. _partial_construction_quebec: - -Partial Construction -~~~~~~~~~~~~~~~~~~~~ - -The ``Partial construction`` mode, also known as ``Mempool mode`` is -used by the :doc:`prevalidator component<../shell/prevalidation>` of -an Octez node to validate incoming operations -- that is, those -not-yet included into blocks. This mode's business-logic is very close -to the ``Full construction`` mode, and the differences boil down to -the intended usage. The partial construction mode does not try to -fully bake a block, but rather to inform the Octez prevalidator on the -potential validity of operations (and whether they can safely included -into a block), so that the latter can **classify** incoming -operations, and further decide how to process them accordingly. - -.. _protocol_classification: -.. _protocol_classification_quebec: - -The protocol provides the shell with the following classification of -an operation, consisting of one valid kind -- ``Applied`` --, and -:ref:`four error kinds ` defined by the -protocol environment: - -- ``Applied``: the operation is valid and can be included in a - potential block in the current context. - -- ``Temporary``: the operation is invalid in the current context, but - it could *later* become valid -- in the context associated to a - successor block of the current head. For instance, a manager - operation whose counter value is greater than the one expected (a - *"counter-in-the-future"* error), or the manager's balance is - insufficient to pay the operation's fees, etc. - -- ``Branch``: the operation is invalid in the current context and in - any possible context from its future successors, but it might still - be valid in an alternative branch. For example: a manager operation - with a smaller counter than the one expected (a - *"counter-in-the-past"* error), an unexpected attestation for the - current level, etc. - -- ``Permanent``: the operation is invalid in the current context, and - there isn't any plausible context where it might be or become - valid. For example, an operation carrying an invalid signature. - -- ``Outdated``: the operation is *too old* to be included in a - block. Furthermore, there might be still some value in the - information provided by an ``Outdated`` operation. An example is the - case of an attestation which was received *too late*, but that could - still be used to form a consensus quorum. - -.. _partial_application: -.. _partial_application_quebec: - -Partial Application -~~~~~~~~~~~~~~~~~~~ - -The ``Partial application`` mode is no longer used, but it subsists in the code. Its aim is to provide Tezos shell -implementations with a light-weight (read "fast") block application -mechanism, which can determine whether a block has a *chance* of being -valid or not, in a situation when the provided context is *not a -recent one*. That is, when the block candidate succeeds neither the -head of the chain, nor a close ancestor. - -This validation mode could be used when the node receives a -significantly large branch -- for instance, while bootstrapping. To -check whether this branch is plausibly valid or potentially malicious -spam, the shell retrieves the context from the most recent common -ancestor between its current head and the announced branch, and -proceeds to "partially apply" each block of this branch using the -common ancestor's context. - -Indeed, by relying on the ancestor context, this mode can *only* -assert the validity of consensus-related preconditions (attesting -power, block fitness, etc.), as future consensus slots are known in -advance -- how much in advance being specified by the -```` protocol constant. Thus, the ``Partial -application`` mode provides an over-approximation of the branch's -validity, and as a result intermediate results are not committed on -disk in order to prevent potential attacks. - -.. _block_validation_overview: -.. _block_validation_overview_quebec: - -Block Validation -================ - -.. FIXME tezos/tezos#3921: - - Adapt to pipelined block validation up to Lima and v7 environment. - -The validity of a blocks depends on a set of precondition checks -implemented in different steps, which happen at different stages of -the application (and the construction) of a block. - -The first step in the process is to decide whether a candidate block -is *well-formed*, that is, that it has the expected "shape" of a valid -block under the current Tezos economic protocol. Given a block -candidate, the block validation process will then verify that the -candidate block declares consistent :ref:`level`, -:ref:`round`, and timestamp values; that it carries a valid -signature, etc. At this step, the block validation process will also -initialize the data-structures required for subsequent steps. - -The second step iterates over the block's operations and proceeds to -apply them sequentially. When at least one operation is found to be -invalid, under the conditions described in -:ref:`operation_validity_quebec` further below, the whole block is -considered as invalid. - -The last step in the block validation process, known as "block -finalization", aims to verify that the collected consensus operations -constitute a sufficiently large :ref:`quorum`. That is, -it will verify that the total attesting power present in the block is -greater than the ``CONSENSUS_THRESHOLD`` constant. - -This sequence of three steps also yields a new context -- the -resulting state of the Tezos ledger after the application of the -candidate block. The shell may decide to commit this context to disk. - -The Tezos economic protocol also offers a cheap (read "faster") -alternative to determine an over-approximation of the validity of a -block (see :ref:`partial_application_quebec` above). This feature -allows the shell to propagate blocks faster without needing to fully -validate them, speeding-up block propagation over the network. Of -course, as this is an over-approximation, this feature cannot be -considered to provide a safe guarantee that a block will be valid: in -particular, it does not validate all kinds of operations. - -.. _operation_validity: -.. _operation_validity_quebec: - -Operation Validation and Application -==================================== - -In the Tezos economic protocol, we dissociate the notion of *validity* -from the notion of *applicability* for operations. A valid operation -is an operation that can be included safely in a block without -affecting the block's validity. Applying an operation, on the other -hand, actually performs the operation's side-effects which can be: -registering a new delegate, executing a smart contract, voting for a -new protocol amendment proposal, etc. - -Note that an operation may fail during the application phase, even -though it has been checked as valid. For example, a smart contract -call that exceeds its gas limit can be included in a block even if an -error is raised at run-time. The application (that is, the operation's -side-effects) will not take effect, but fees will nonetheless be taken -from the account submitting the smart contract call. - -In the sequel we refine the validity conditions and describe the -application process for each of the different validation passes. - -.. FIXME tezos/tezos#3921: - - Expand validity and application for other validation classes. - -.. _manager_operations_validity: -.. _manager_operations_validity_quebec: - -Validity of Manager Operations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In this sub-section, we explain the conditions for manager operations -(and batches of managers operations) to be considered valid and hence -suitable for inclusion in a block. - -Validity of Individual Manager Operations -......................................... - -:ref:`Manager operation` are a class of -operations, issued by a single *manager* account which signs the -operation and pays their fees. The different manager operation kinds -share several common fields: - -- ``source``: the public key's hash of the *source* account of the - manager operation -- that is, the *manager*. -- ``fee``: the amount of tez paid to the baker which decides to - include this operation; -- ``counter``: the manager account's counter, incremented each time - this account executes a manager operation, to prevent - replay-attacks. -- ``gas_limit``: the maximum amount of gas that this operation may - consume before failing. -- ``storage_limit``: the maximum amount of storage that this operation - may require before failing. -- ``operation``: the actual operation(s) -- e.g., transfers, - smart-contract calls, originations, delegations, etc. -- ``signature``: the manager's signature used to prove its identity. - -A manager operation is **valid** if and only if all of the following -conditions hold: - -- The operation source's public key has been previously *revealed*, - unless the operation is itself a ``Reveal`` operation. -- The operation's signature is correct with regard to the manager - account's public key. -- The provided ``counter`` value is the expected one for the manager. -- Depending on the operation's kind, the ``gas_limit`` is high enough - to cover the minimal cost of parsing the operation and further - minimal treatment. -- The manager account is solvent to pay the announced fees. - -Validity of Manager Operation Batches -..................................... - -A :ref:`batch` of manager operations -includes one or more manager operations for sequential and atomic -execution. The atomicity property imposes that the validity of a batch -should entail the validity of each individual operation in the batch, -as defined above. However, it also entails some additional *global* -constraints on manager batches. - -For each of the operations present in a batch, the validation process -must check that the individual constraints above are satisfied, *with -the exception of* the signature constraint. Given that the signature -concerns the whole batch, as all operations in the batch are signed by -the same manager, it suffices to verify the signature only once. - -The **global batch validity** constraint for this economic protocol is -defined as the conjunction of the following conditions: - -- When a ``Reveal`` operation is present, **it must only occur once**, - and **it must be placed at the head** of the batch -- that is, the - ``Reveal`` operation must be the first operation in the batch. -- Every operation in the batch should declare the same ``source``. -- Each of the individual operation counters must be incremented - correctly and sequentially. -- The sum of each individual operation's declared fees must be lower - than the account's balance. That is, the manager account must be - solvent to pay the announced fees for all the operations in the - batch. - -.. _manager_operations_application: -.. _manager_operations_application_quebec: - -Application of Manager Operations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Once the validity of a manager operation (or, a batch of manager -operations) is established, the protocol proceeds to apply the -operation. This first step in this application phase is to transfer -the operation's fees to the baker that included this operation. Then, -the actual application depends on the operation kind. For instance, -this could be a smart contract execution, enacting a delegation, or -multiple actions executed as a batch. The application of a batch of -manager operations consists of the sequential application of each -operation in the batch, following their inclusion order -- the head of -the batch being the first manager operation being applied. - -The application of each individual manager operation may either -succeed -- and therefore be reported as ``Applied`` --, or indeed fail -with an error. In both cases, the fees are taken and the counter for -the operation's manager is incremented. - -When a manager operation fails, every side-effect which was previously -performed is backtracked. Moreover, the (rest of the) batch has to be -aborted. Thus, depending on the position of the manager operation in -a batch, its failure has to be propagated accordingly: - -- If there were other successfully applied operations in the batch - prior to the offending one, the effect of each of them has to be - reverted, and each of them will be reported as ``Backtracked``. - -- If there were other operations pending application after the - offending one, their application is aborted, and they are reported - as ``Skipped``. - -For example, let's consider a simple batch of three manager operations -``[op1, op2, op3]``, if ``op1`` is successful but ``op2`` fails, the -ticket result for the application of the manager operation batch will -report: - -* ``op1`` -- ``Backtracked``, ``op1`` was applied successfully, but - after ``op2`` failed, the operation was canceled; -* ``op2`` -- ``Failed``, the application of this particular operation failed; -* ``op3`` -- ``Skipped``, this operation was never executed because - ``op2`` had previously failed. diff --git a/docs/quebec/views.rst b/docs/quebec/views.rst deleted file mode 100644 index e53094508568..000000000000 --- a/docs/quebec/views.rst +++ /dev/null @@ -1,84 +0,0 @@ -On-chain Views -============== - -Views are a mechanism that allows smart contracts to call smart contracts, and that: - -- are read-only: they may depend on the storage of the contract - declaring the view but cannot modify it nor emit operations (but they - can call other views), -- take arguments as input in addition to the contract storage, -- return results as output, -- are synchronous: the result is immediately available on the stack of - the caller contract. - -Homonyms --------- - -Beware that the term *view* has also been used for other kinds of mechanisms to access some data -from the blockchain. - -- `Off-chain views `__ cannot be called from smart contracts but only by off-chain tools such as wallets. -- `Legacy on-chain views `__ are a conventional way of making some - contract data available. Their purpose is subsumed by that of the on-chain - views defined here, but they are still referenced in FA1.2 and FA2 standards which predate the introduction of native on-chain views in the Hangzhou amendment. - -In the following, the term "view" denotes the modern notion of on-chain views, described in this page. - -Execution flow --------------- - -The execution of a view is included in the operation of the -caller’s contract, but accesses the storage of the declarer’s contract, in -read-only mode. Thus, in terms of execution, views are more like lambda -functions rather than contract entrypoints, Here is an example: - -:: - - code { - ...; - TRANSFER_TOKENS; - ...; - VIEW "view_ex" unit; - ...; - } - -This contract calls a contract ``TRANSFER_TOKENS``, and, later on, a view -called ``view_ex``. No matter if the callee ``view_ex`` is defined in the -same contract with this caller contract or not, this view will be executed -immediately in the current operation, while the operations emitted by -``TRANSFER_TOKENS`` will be executed later on. As a result, although it -may seem that ``view_ex`` receives the storage modified by -``TRANSFER_TOKENS``, this is not the case. In other words, the storage of -the view is the same as when the execution of the contract calling the view started. In -particular, in case of re-entrance, i.e., if a contract ``A`` calls a -contract ``B`` that calls a view on ``A``, the storage of the view will be -the same as when ``B`` started, not when ``A`` started. - -Declaration ------------ - -Views are **declared** at the toplevel of the script of the contract on -which they operate, alongside the contract parameter type, storage type, -and code. To declare a view, the ``view`` keyword is used; its syntax is -``view name 'arg 'return { instr; ... }`` where: - -- ``name`` is a string of at most 31 characters matching the regular - expression ``[a-zA-Z0-9_.%@]*``; it is used to identify the view, - hence it must be different from the names of the other views declared - in the same script; -- ``'arg`` is the type of the argument of the view; -- ``'return`` is the type of the result returned by the view; -- ``{ instr; ... }`` is a sequence of instructions of type ``lambda - (pair 'arg 'storage_ty) 'return`` where ``'storage_ty`` is the type of - the storage of the current contract. Certain specific instructions - have different semantics in views: ``BALANCE`` represents the current - amount of mutez held by the contract where the view is declared; ``SENDER`` - represents the contract which is calling the view; ``SELF_ADDRESS`` - represents the contract declaring the view; ``AMOUNT`` is always 0 mutez. - -Forbidden types ---------------- - -Note that in both view input (type ``'arg``) and view output (type -``'return``), the following types are forbidden: ``ticket``, -``operation``, ``big_map`` and ``sapling_state``. diff --git a/docs/quebec/voting.rst b/docs/quebec/voting.rst deleted file mode 100644 index cbe3f34dd89b..000000000000 --- a/docs/quebec/voting.rst +++ /dev/null @@ -1,355 +0,0 @@ -The Amendment (and Voting) Process -================================== - -In the Tezos blockchain, the *economic protocol* can be amended. Specifically, -there is an on-chain mechanism to propose changes to the economic protocol, to -vote for-or-against these proposed changes, and, depending on the result of the -vote, to activate these changes or not. - -Note that the proposal, voting and activation processes are part of the economic -protocol itself. Consequently the amendment rules themselves are subject to -amendments. - -The rest of this page gives more details about the amendment and voting process. - -Periods -------- - -The amendment process consists of five *periods*. Each period lasts for 5 cycles -(or approximately two weeks). The periods (listed below) -typically succeed one to another for a total duration of approximately 2 months and -a half, after which the whole amendment process starts again. - -The five periods are as follows: - -- *Proposal period*: During this period, delegates can - - - submit *protocol amendment proposals* (or, simply, *proposals*) using the - ``Proposals`` operation (see below); - - upvote one or several proposals, using the same ``Proposals`` operation. - - Each delegate can submit a maximum of 20 proposals. Duplicates count towards - this total. - - At the end of a **proposal period**, if participation reaches a - :ref:`proposal quorum `, the proposal with most support is - selected and we move to an **exploration period**. Note that support is - measured in the cumulated staking power (expressed in mutez) that delegates supporting the - proposal have. E.g., a proposal supported by a single delegate with 600,000 tz of staking power - has more support than a proposal supported by two delegates with 100,000 tz - each of staking power. - - If there are no proposals, or a tie between two or more proposals, - or if participation did not reach the proposal quorum, the process - moves back to a new **proposal period**. - -- *Exploration period*: During this period delegates can cast one - Yea, Nay, or Pass ballot on the selected proposal. They do so using the - ``Ballot`` operation. - - If the voting participation reaches *quorum* and there is a *super-majority* - of Yea, the process moves to the **cooldown period**. (See below for details - on participation, quorum, and super-majority.) - - Otherwise the process moves back to the **proposal period**. - -- *Cooldown period*: On-chain nothing specific happens during this period. - Off-chain the delegates can read the proposal with more scrutiny, the - community can discuss finer points of the proposal, the developers can - perform additional tests, etc. - - At the end of this period, the process moves to the **promotion period**. - -- *Promotion period*: During this period, delegates can cast a Yea, Nay, or Pass - ballots using the ``Ballot`` operation. - - If the voting participation reaches *quorum* and there is a super-majority of - Yea, the process moves to the **adoption period**. - - Otherwise the process moves back to the **proposal period**. - -- *Adoption period*: On-chain nothing specific happens during this period except - on the very last block (see below). - - Off-chain the developers release tools that include support for the - soon-to-be activated protocol, other actors (bakers, indexers, etc.) update - their infrastructure to support the newly released tools, smart-contract - developers start working with soon-to-be-available features, etc. - - At the very end of the period, the proposal is *activated*. This means that - the last block of the period is still interpreted by the current economic - protocol, but the first block after the period is interpreted by the new - economic protocol (the one that was voted in). - - And a new **proposal period** starts. - -.. warning:: - Thanks to an old spelling mistake, the most enthusiastic voters can cast ``Yay`` ballots. Enthusiasm does however not impact the result of the vote and the tools accepting ``Yay`` consider it as a deprecated synonym for ``Yea``. - - -Activation ----------- - -After the activation step, the blocks added to the chain are interpreted in the -newly activated protocol. As a result gas costs may differ, new operations may -be available, contracts using new opcodes may be injected, etc. - -Because the amendment process is also part of the economic protocol, the -amendment process now unfolds according to the rules of the newly activated -protocol. As a result the periods may be lengthened or shortened, a new period -might be introduced, a different selection mechanism may be used, the quorum -requirement might differ, etc. - - -.. _voting_power: -.. _voting_power_quebec: - -Voting Power ------------- - -When supporting a proposal or casting a Yea, Nay, or Pass ballot, each -delegate has a **voting power** equal to the amount of tez owned by -all its delegators (including the delegate itself of course), no -matter whether they are :doc:`staked` or not. - -More precisely, the voting power of a delegate during a voting period -is the sum of its :ref:`total_staked` and -:ref:`total_delegated` amounts, measured in -*mutez*, and snapshotted at the beginning of the voting period. (Note -the differences from the validator selection for consensus, which is -based on the more complex :doc:`baking power` instead, -and sampled at the end of an earlier cycle.) - - -Super-majority and Quorum -------------------------- - -As mentioned above, during either of the **exploration** or **promotion** periods, -delegates can cast ballots using the ``Ballot`` operation (see below). -In both cases, delegates can cast a single Yea, Nay, or Pass ballot. A ballot -has a weight equal to the delegate's stake as detailed above. - -For either of these two periods, the process continues to the next period if the -*vote participation* reaches *quorum* and there is a *super-majority* of -Yea. - -The *vote participation* is the ratio of all the cumulated stake of cast ballots -(including Pass ballots) to the total stake. - -For the first vote, the *quorum* started at 80% of stake. The quorum is -adjusted after each vote as detailed below. This adjustment is necessary to -ensure that the amendment process can continue even if some delegates stop -participating. After each vote the new quorum is updated based on the exponential moving average of the **vote participation**:: - - new_participation_ema = 0.8 * old_participation_ema + 0.2 * participation - -with the following formula:: - - new_quorum = 0.2 + (0.7 - 0.2) * old_participation_ema - -This formula avoids establishing quorums close to 100% that would be -very difficult to attain, or, conversely, low quorums close to 0% making -little participation chronic, ensuring that the quorums are lower- and upper-bounded by :ref:`quorum_caps` (0.2 and 0.7, respectively). - -The *super-majority* is reached if the cumulated stake of Yea ballots is -greater than 8/10 of the cumulated stake of Yea and Nay ballots. - -Note that Pass ballots do not count towards or against the super-majority; -they still counts towards participation and quorum. - -More details can be found in the file -:src:`src/proto_021_PsQuebec/lib_protocol/amendment.ml`. - - -The Hash and the Protocol -------------------------- - -On the one hand, the voting part of the process revolves around the -**hash of a protocol**. Specifically, a delegate submits a hash of a -protocol, and all the delegates cast ballots on the proposed hash. -The *hash of a protocol* is the hash of the files that constitute the source -code of the protocol. - -On the other hand, the **protocol activation** (at the end of the -**adoption period**) revolves around the compiled sources of the protocol. - -Basically, the voting process works on an identifier of the protocol whilst the -activation step works on the protocol itself. Consequently, if a protocol hash -is voted in and the protocol it identifies is invalid, the activation step -fails. - -.. sidebar:: Checking a hash is of a valid protocol - - When a hash is proposed by a delegate, it is usually accompanied by some - blogposts and forum threads on :ref:`community ` websites. - These should include directions for testing the proposed protocols. If you - cannot find such directions, do not hesitate to ask. - -.. sidebar:: Localised failures - - It is possible that the activation step fails on a single node or a few nodes - of the network, but succeed on the others. In this case the nodes with the - failure are stuck, but the network as a whole continues. - - The most likely cause for this is nodes that have not been updated and do not - include a new protocol environment version. - - If your node becomes stuck, you should start a fresh up-to-date node. - -A protocol is *invalid* if its code cannot be compiled (e.g., if the code is not -valid source code), if its code uses functions not present in the -:doc:`protocol environment <../shell/protocol_environment>`, or if it -downgrades the protocol environment version. - -If an invalid protocol is voted in, then the activation fails for all the nodes, -and then the chain becomes stuck. This is why it is important to vote for hashes -that designate valid protocols: ones with sources that are available and that -can be compiled. - -Operations ----------- - -There are two operations used by the delegates: **proposals** and **ballot**. - -A *proposals* operation can only be injected during a proposal period. - -:: - - Proposals : { - source: Signature.Public_key_hash.t ; - period: Voting_period_repr.t ; - proposals: Protocol_hash.t list ; } - -The ``source`` is the public key hash of the delegate, ``period`` is the unique -identifier of each voting period and ``proposals`` is a non-empty list of -maximum 20 protocol hashes. -The operation can be submitted more than once but only as long as the -cumulative length of the proposals lists is less than 20. -Duplicate proposals from the same delegate are accounted for in the -maximum number of proposals for that delegate. -However duplicates from the same delegate are not tallied at the end -of the proposal period. - -For example, a delegate submits a *proposals* operation for protocols A -and B early in the proposal period, later a new protocol C is revealed -and the delegate submits another *proposals* operation for protocols B -and C. -The list of submissions that will be tallied is [A,B,C]. - -A *ballot* operation can only be submitted during periods where a vote happens -(e.g. exploration, promotion), and only once per period. - -:: - - Ballot : { - source: Signature.Public_key_hash.t ; - period: Voting_period_repr.t ; - proposal: Protocol_hash.t ; - ballot: Vote_repr.ballot ; } - -The fields ``source`` and ``period`` are the same as above, while ``proposal`` -is the currently selected proposal and ``ballot`` is one of ``Yea``, ``Nay`` or -``Pass``. -The ``Pass`` vote allows a delegate to contribute towards the quorum without -contributing towards the super-majority. This is important because, as detailed -above, the quorum is adaptive and that low participation would lower the -quorum of the next vote. - -More details on the operations can be found in -:src:`src/proto_021_PsQuebec/lib_protocol/operation_repr.ml`. -The binary format is described by -``octez-client describe unsigned operation``. - -Client Commands ---------------- - -The Octez client, ``octez-client``, provides commands for basic exploration and -interaction with the amendment and voting process. - - -Show -~~~~ - -The client provides a command to show the status of a voting period. -It displays different information for different kind of periods, as -in the following samples:: - - $ octez-client show voting period - Current period: "proposal" - Blocks remaining until end of period: 59 - Current proposals: - PsNa6jTtsRfbGaNSoYXNTNM5A7c3Lji22Yf2ZhpFUjQFC17iZVp 2,400,000 ꜩ - - $ octez-client show voting period - Current period: "exploration" - Blocks remaining until end of period: 63 - Current proposal: PsNa6jTtsRfbGaNSoYXNTNM5A7c3Lji22Yf2ZhpFUjQFC17iZVp - Ballots: - Yay: 2,400,000 ꜩ - Nay: 0 ꜩ - Pass: 0 ꜩ - Current participation 20.00%, necessary quorum 80.00% - Current in favor 2,400,000 ꜩ, needed supermajority 1,920,000 ꜩ - - $ octez-client show voting period - Current period: "cooldown" - Blocks remaining until end of period: 64 - Current proposal: PsNa6jTtsRfbGaNSoYXNTNM5A7c3Lji22Yf2ZhpFUjQFC17iZVp - -It should be noted that the ballot number 2,400,000 ꜩ above is the stake counted in -mutez (displayed in tez). -The proposal has a total stake of 2,400,000 ꜩ, which may come from a single ballot -from a delegate having a staking balance of 2,400,000 ꜩ or it may come from multiple ballots from -delegates with a combined stake of 2,400,000 ꜩ. - - -Submit proposals -~~~~~~~~~~~~~~~~ - -During a proposal period, a list of proposals can be submitted with:: - - octez-client submit proposals for ... - -Remember that each delegate can submit a maximum of 20 protocol -hashes and that duplicates count towards this total. -Moreover each proposal is accepted only if it meets one of the -following two conditions: - -- the protocol hash was already proposed on the network. In this case - we can submit an additional proposal that "upvotes" an existing one - and our staking power are added to the ones already supporting the proposal. -- the protocol is known by the node. In particular the first proposer - of a protocol should be able to successfully inject the protocol in - its node which performs some checks, compiles and loads the - protocol. - -These are protection measures that the Octez client takes to prevent the -accidental injection of invalid protocols. As mentioned above, it is still -important to check the validity of the protocols that you vote for as they may -have been injected via different means. - - -Submit ballots -~~~~~~~~~~~~~~ - -During either of the **exploration** or **promotion** periods, -ballots can be submitted once with:: - - octez-client submit ballot for - -Further External Resources --------------------------- - -Further details and explanations on the voting procedure can be found at: - -- `Governance on-chain `_ on Open Tezos -- `Tezos Governance `_ on Tezos Agora. - -For more details on the client commands refer to the manual at -:ref:`client_manual_quebec`. - -For vote related RPCs check the :doc:`rpc` under the prefix -``votes/``. - -For Ledger support refer to Obsidian Systems' `documentation -`__. -- GitLab From da400ef41221755da6c0bbb4bef8fc6b09b83dd6 Mon Sep 17 00:00:00 2001 From: Nic Volanschi Date: Tue, 15 Apr 2025 20:35:00 +0200 Subject: [PATCH 2/5] doc: add unversioned labels in Rio doc --- docs/api/quebec-mempool-openapi.json | 3396 --- docs/api/quebec-openapi.json | 24488 ---------------- .../api/quebec-smart-rollup-node-openapi.json | 1 - docs/rio/accounts.rst | 1 + docs/rio/adaptive_issuance.rst | 10 + docs/rio/adaptive_slashing.rst | 4 + docs/rio/baking_power.rst | 7 + docs/rio/blocks_ops.rst | 8 + docs/rio/cli-commands.rst | 3 + docs/rio/consensus.rst | 9 + docs/rio/dal_support.rst | 3 + docs/rio/glossary.rst | 14 + docs/rio/liquidity_baking.rst | 1 + docs/rio/michelson.rst | 15 + docs/rio/plugins.rst | 4 + docs/rio/proof_of_stake.rst | 18 +- docs/rio/protocol_overview.rst | 3 + docs/rio/randomness_generation.rst | 3 + docs/rio/rpc.rst | 1 + docs/rio/smart_rollups.rst | 4 + docs/rio/staking.rst | 3 + docs/rio/validation.rst | 11 + docs/rio/voting.rst | 1 + 23 files changed, 114 insertions(+), 27894 deletions(-) delete mode 100644 docs/api/quebec-mempool-openapi.json delete mode 100644 docs/api/quebec-openapi.json delete mode 100644 docs/api/quebec-smart-rollup-node-openapi.json diff --git a/docs/api/quebec-mempool-openapi.json b/docs/api/quebec-mempool-openapi.json deleted file mode 100644 index dacaaa84f72b..000000000000 --- a/docs/api/quebec-mempool-openapi.json +++ /dev/null @@ -1,3396 +0,0 @@ -{ - "openapi": "3.0.0", - "info": { - "title": "Octez Mempool RPC", - "description": "The RPC API for the mempool served by the Octez node.", - "version": "Octez 22.0 (TBD)" - }, - "paths": { - "/ban_operation": { - "post": { - "description": "Remove an operation from the mempool if present. Also add it to the set of banned operations to prevent it from being fetched/processed/injected in the future. Note: If the baker has already received the operation, then it's necessary to restart it to flush the operation from it.", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "A Tezos operation ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": {} - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/filter": { - "get": { - "description": "Get the configuration of the mempool's filter and bounds. Values of the form [ \"21\", \"20\" ] are rational numbers given as a numerator and a denominator, e.g. 21/20 = 1.05. The minimal_fees (in mutez), minimal_nanotez_per_gas_unit, and minimal_nanotez_per_byte are requirements that a manager operation must meet to be considered by the mempool. replace_by_fee_factor is how much better a manager operation must be to replace a previous valid operation **from the same manager** (both its fee and its fee/gas ratio must exceed the old operation's by at least this factor). max_operations and max_total_bytes are the bounds on respectively the number of valid operations in the mempool and the sum of their sizes in bytes.", - "parameters": [ - { - "name": "include_default", - "in": "query", - "description": "Show fields equal to their default value (set by default)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": {} - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - }, - "post": { - "description": "Set the configuration of the mempool's filter and bounds. **If any of the fields is absent from the input JSON, then it is set to the default value for this field (i.e. its value in the default configuration), even if it previously had a different value.** If the input JSON does not describe a valid configuration, then the configuration is left unchanged. This RPC also returns the new configuration of the mempool (which may differ from the input if the latter omits fields or is invalid). You may call [octez-client rpc get '/chains/main/mempool/filter?include_default=true'] to see an example of JSON describing a valid configuration. See the description of that RPC for details on each configurable value.", - "requestBody": { - "content": { - "application/json": { - "schema": {} - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": {} - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/monitor_operations": { - "get": { - "description": "Monitor the mempool operations.", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "Supported RPC versions are version \"1\" (default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "validated", - "in": "query", - "description": "Include validated operations (set by default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "refused", - "in": "query", - "description": "Include refused operations", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "outdated", - "in": "query", - "description": "Include outdated operations", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "branch_refused", - "in": "query", - "description": "Include branch refused operations", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "branch_delayed", - "in": "query", - "description": "Include branch delayed operations (set by default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "validation_pass", - "in": "query", - "description": "Include operations filtered by validation pass (all by default)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sources", - "in": "query", - "description": "Include operations filtered by sources (all by default)", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "protocol": { - "type": "string", - "enum": [ - "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg" - ] - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - }, - "error": { - "$ref": "#/components/schemas/error_opt" - } - }, - "required": [ - "hash", - "protocol", - "branch", - "contents" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/pending_operations": { - "get": { - "description": "List the prevalidated operations.", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "Supported RPC versions are version \"2\" (default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "validated", - "in": "query", - "description": "Include validated operations (true by default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "refused", - "in": "query", - "description": "Include refused operations (true by default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "outdated", - "in": "query", - "description": "Include outdated operations (true by default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "branch_refused", - "in": "query", - "description": "Include branch refused operations (true by default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "branch_delayed", - "in": "query", - "description": "Include branch delayed operations (true by default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "validation_pass", - "in": "query", - "description": "Include operations filtered by validation pass (all by default)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "source", - "in": "query", - "description": "Include operations filtered by source (all by default)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "operation_hash", - "in": "query", - "description": "Include operations filtered by hash (all by default)", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "validated": { - "type": "array", - "items": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "hash", - "branch", - "contents" - ] - } - }, - "refused": { - "type": "array", - "items": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "protocol": { - "type": "string", - "enum": [ - "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg" - ] - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - }, - "error": { - "$ref": "#/components/schemas/error" - } - }, - "required": [ - "hash", - "protocol", - "branch", - "contents", - "error" - ] - } - }, - "outdated": { - "type": "array", - "items": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "protocol": { - "type": "string", - "enum": [ - "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg" - ] - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - }, - "error": { - "$ref": "#/components/schemas/error" - } - }, - "required": [ - "hash", - "protocol", - "branch", - "contents", - "error" - ] - } - }, - "branch_refused": { - "type": "array", - "items": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "protocol": { - "type": "string", - "enum": [ - "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg" - ] - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - }, - "error": { - "$ref": "#/components/schemas/error" - } - }, - "required": [ - "hash", - "protocol", - "branch", - "contents", - "error" - ] - } - }, - "branch_delayed": { - "type": "array", - "items": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "protocol": { - "type": "string", - "enum": [ - "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg" - ] - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - }, - "error": { - "$ref": "#/components/schemas/error" - } - }, - "required": [ - "hash", - "protocol", - "branch", - "contents", - "error" - ] - } - }, - "unprocessed": { - "type": "array", - "items": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "protocol": { - "type": "string", - "enum": [ - "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg" - ] - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "hash", - "protocol", - "branch", - "contents" - ] - } - } - }, - "required": [ - "validated", - "refused", - "outdated", - "branch_refused", - "branch_delayed", - "unprocessed" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/request_operations": { - "post": { - "description": "Request the operations of our peers or a specific peer if specified via a query parameter.", - "parameters": [ - { - "name": "peer_id", - "in": "query", - "description": "A cryptographic node identity (Base58Check-encoded)", - "required": false, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {} - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {} - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/unban_all_operations": { - "post": { - "description": "Clear the set of banned operations.", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {} - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": {} - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/unban_operation": { - "post": { - "description": "Remove an operation from the set of banned operations (nothing happens if it was not banned).", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "A Tezos operation ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": {} - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "021-PsQuebec.adaptive_issuance_vote": { - "oneOf": [ - { - "title": "per_block_vote_on", - "type": "string", - "enum": [ - "on" - ] - }, - { - "title": "per_block_vote_off", - "type": "string", - "enum": [ - "off" - ] - }, - { - "title": "per_block_vote_pass", - "type": "string", - "enum": [ - "pass" - ] - } - ] - }, - "021-PsQuebec.block_header.alpha.full_header": { - "title": "Shell header", - "description": "Block header's shell-related content. It contains information such as the block level, its predecessor and timestamp.", - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proto": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "predecessor": { - "$ref": "#/components/schemas/block_hash" - }, - "timestamp": { - "$ref": "#/components/schemas/timestamp.protocol" - }, - "validation_pass": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "operations_hash": { - "$ref": "#/components/schemas/Operation_list_list_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "context": { - "$ref": "#/components/schemas/Context_hash" - }, - "payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "payload_round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proof_of_work_nonce": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "seed_nonce_hash": { - "$ref": "#/components/schemas/cycle_nonce" - }, - "liquidity_baking_toggle_vote": { - "$ref": "#/components/schemas/021-PsQuebec.liquidity_baking_vote" - }, - "adaptive_issuance_vote": { - "$ref": "#/components/schemas/021-PsQuebec.adaptive_issuance_vote" - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "level", - "proto", - "predecessor", - "timestamp", - "validation_pass", - "operations_hash", - "fitness", - "context", - "payload_hash", - "payload_round", - "proof_of_work_nonce", - "liquidity_baking_toggle_vote", - "adaptive_issuance_vote", - "signature" - ] - }, - "021-PsQuebec.contract_id": { - "title": "A contract handle", - "description": "A contract notation as given to an RPC or inside scripts. Can be a base58 implicit contract hash or a base58 originated contract hash.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "021-PsQuebec.contract_id.originated": { - "title": "A contract handle -- originated account", - "description": "A contract notation as given to an RPC or inside scripts. Can be a base58 originated contract hash.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "021-PsQuebec.entrypoint": { - "title": "entrypoint", - "description": "Named entrypoint to a Michelson smart contract", - "oneOf": [ - { - "title": "default", - "type": "string", - "enum": [ - "default" - ] - }, - { - "title": "root", - "type": "string", - "enum": [ - "root" - ] - }, - { - "title": "do", - "type": "string", - "enum": [ - "do" - ] - }, - { - "title": "set_delegate", - "type": "string", - "enum": [ - "set_delegate" - ] - }, - { - "title": "remove_delegate", - "type": "string", - "enum": [ - "remove_delegate" - ] - }, - { - "title": "deposit", - "type": "string", - "enum": [ - "deposit" - ] - }, - { - "title": "stake", - "type": "string", - "enum": [ - "stake" - ] - }, - { - "title": "unstake", - "type": "string", - "enum": [ - "unstake" - ] - }, - { - "title": "finalize_unstake", - "type": "string", - "enum": [ - "finalize_unstake" - ] - }, - { - "title": "set_delegate_parameters", - "type": "string", - "enum": [ - "set_delegate_parameters" - ] - }, - { - "title": "named", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - ] - }, - "021-PsQuebec.inlined.attestation": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "operations": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.attestation_mempool.contents" - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "branch", - "operations" - ] - }, - "021-PsQuebec.inlined.attestation_mempool.contents": { - "oneOf": [ - { - "title": "Attestation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash" - ] - }, - { - "title": "Attestation_with_dal", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation_with_dal" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "dal_attestation": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash", - "dal_attestation" - ] - } - ] - }, - "021-PsQuebec.inlined.preattestation": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "operations": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.preattestation.contents" - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "branch", - "operations" - ] - }, - "021-PsQuebec.inlined.preattestation.contents": { - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "preattestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash" - ] - }, - "021-PsQuebec.liquidity_baking_vote": { - "oneOf": [ - { - "title": "per_block_vote_on", - "type": "string", - "enum": [ - "on" - ] - }, - { - "title": "per_block_vote_off", - "type": "string", - "enum": [ - "off" - ] - }, - { - "title": "per_block_vote_pass", - "type": "string", - "enum": [ - "pass" - ] - } - ] - }, - "021-PsQuebec.michelson.v1.primitives": { - "type": "string", - "enum": [ - "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" - ] - }, - "021-PsQuebec.mutez": { - "$ref": "#/components/schemas/positive_bignum" - }, - "021-PsQuebec.operation.alpha.contents": { - "oneOf": [ - { - "title": "Preattestation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "preattestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash" - ] - }, - { - "title": "Attestation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash" - ] - }, - { - "title": "Attestation_with_dal", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation_with_dal" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "dal_attestation": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash", - "dal_attestation" - ] - }, - { - "title": "Double_preattestation_evidence", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "double_preattestation_evidence" - ] - }, - "op1": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.preattestation" - }, - "op2": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.preattestation" - } - }, - "required": [ - "kind", - "op1", - "op2" - ] - }, - { - "title": "Double_attestation_evidence", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "double_attestation_evidence" - ] - }, - "op1": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.attestation" - }, - "op2": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.attestation" - } - }, - "required": [ - "kind", - "op1", - "op2" - ] - }, - { - "title": "Seed_nonce_revelation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "seed_nonce_revelation" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "nonce": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "level", - "nonce" - ] - }, - { - "title": "Vdf_revelation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "vdf_revelation" - ] - }, - "solution": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - ] - } - } - }, - "required": [ - "kind", - "solution" - ] - }, - { - "title": "Double_baking_evidence", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "double_baking_evidence" - ] - }, - "bh1": { - "$ref": "#/components/schemas/021-PsQuebec.block_header.alpha.full_header" - }, - "bh2": { - "$ref": "#/components/schemas/021-PsQuebec.block_header.alpha.full_header" - } - }, - "required": [ - "kind", - "bh1", - "bh2" - ] - }, - { - "title": "Activate_account", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "activate_account" - ] - }, - "pkh": { - "$ref": "#/components/schemas/Ed25519.Public_key_hash" - }, - "secret": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "pkh", - "secret" - ] - }, - { - "title": "Proposals", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "proposals" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "period": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proposals": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Protocol_hash" - } - } - }, - "required": [ - "kind", - "source", - "period", - "proposals" - ] - }, - { - "title": "Ballot", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "ballot" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "period": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proposal": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "ballot": { - "type": "string", - "enum": [ - "nay", - "yay", - "pass" - ] - } - }, - "required": [ - "kind", - "source", - "period", - "proposal", - "ballot" - ] - }, - { - "title": "Reveal", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "reveal" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "public_key": { - "$ref": "#/components/schemas/Signature.Public_key" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "public_key" - ] - }, - { - "title": "Transaction", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "transaction" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "parameters": { - "type": "object", - "properties": { - "entrypoint": { - "$ref": "#/components/schemas/021-PsQuebec.entrypoint" - }, - "value": {} - }, - "required": [ - "entrypoint", - "value" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "amount", - "destination" - ] - }, - { - "title": "Origination", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "origination" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "balance": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "script": { - "$ref": "#/components/schemas/021-PsQuebec.scripted.contracts" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "balance", - "script" - ] - }, - { - "title": "Delegation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "delegation" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit" - ] - }, - { - "title": "Set_deposits_limit", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "set_deposits_limit" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "limit": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit" - ] - }, - { - "title": "Increase_paid_storage", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "increase_paid_storage" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "amount", - "destination" - ] - }, - { - "title": "Update_consensus_key", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "update_consensus_key" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "pk": { - "$ref": "#/components/schemas/Signature.Public_key" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "pk" - ] - }, - { - "title": "Drain_delegate", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "drain_delegate" - ] - }, - "consensus_key": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "destination": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "consensus_key", - "delegate", - "destination" - ] - }, - { - "title": "Failing_noop", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "failing_noop" - ] - }, - "arbitrary": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "arbitrary" - ] - }, - { - "title": "Register_global_constant", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "register_global_constant" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "value": {} - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "value" - ] - }, - { - "title": "Transfer_ticket", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "transfer_ticket" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "ticket_contents": {}, - "ticket_ty": {}, - "ticket_ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "ticket_amount": { - "$ref": "#/components/schemas/positive_bignum" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "entrypoint": { - "$ref": "#/components/schemas/unistring" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "ticket_contents", - "ticket_ty", - "ticket_ticketer", - "ticket_amount", - "destination", - "entrypoint" - ] - }, - { - "title": "Dal_publish_commitment", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "dal_publish_commitment" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "slot_header": { - "type": "object", - "properties": { - "slot_index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "commitment": { - "$ref": "#/components/schemas/DAL_commitment" - }, - "commitment_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "slot_index", - "commitment", - "commitment_proof" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "slot_header" - ] - }, - { - "title": "Smart_rollup_originate", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_originate" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "pvm_kind": { - "type": "string", - "enum": [ - "wasm_2_0_0", - "arith", - "riscv" - ] - }, - "kernel": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "parameters_ty": {}, - "whitelist": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "pvm_kind", - "kernel", - "parameters_ty" - ] - }, - { - "title": "Smart_rollup_add_messages", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_add_messages" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "message": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "message" - ] - }, - { - "title": "Smart_rollup_cement", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_cement" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup" - ] - }, - { - "title": "Smart_rollup_publish", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_publish" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "commitment": { - "type": "object", - "properties": { - "compressed_state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "predecessor": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "number_of_ticks": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "compressed_state", - "inbox_level", - "predecessor", - "number_of_ticks" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "commitment" - ] - }, - { - "title": "Smart_rollup_refute", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_refute" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "opponent": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "refutation": { - "oneOf": [ - { - "title": "Start", - "type": "object", - "properties": { - "refutation_kind": { - "type": "string", - "enum": [ - "start" - ] - }, - "player_commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "opponent_commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - } - }, - "required": [ - "refutation_kind", - "player_commitment_hash", - "opponent_commitment_hash" - ] - }, - { - "title": "Move", - "type": "object", - "properties": { - "refutation_kind": { - "type": "string", - "enum": [ - "move" - ] - }, - "choice": { - "$ref": "#/components/schemas/positive_bignum" - }, - "step": { - "oneOf": [ - { - "title": "Dissection", - "type": "array", - "items": { - "type": "object", - "properties": { - "state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "tick": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "tick" - ] - } - }, - { - "title": "Proof", - "type": "object", - "properties": { - "pvm_step": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "input_proof": { - "oneOf": [ - { - "title": "inbox proof", - "type": "object", - "properties": { - "input_proof_kind": { - "type": "string", - "enum": [ - "inbox_proof" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "message_counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "serialized_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "input_proof_kind", - "level", - "message_counter", - "serialized_proof" - ] - }, - { - "title": "reveal proof", - "type": "object", - "properties": { - "input_proof_kind": { - "type": "string", - "enum": [ - "reveal_proof" - ] - }, - "reveal_proof": { - "oneOf": [ - { - "title": "raw data proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "raw_data_proof" - ] - }, - "raw_data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "reveal_proof_kind", - "raw_data" - ] - }, - { - "title": "metadata proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "metadata_proof" - ] - } - }, - "required": [ - "reveal_proof_kind" - ] - }, - { - "title": "dal page proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "dal_page_proof" - ] - }, - "dal_page_id": { - "type": "object", - "properties": { - "published_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "slot_index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "page_index": { - "type": "integer", - "minimum": -32768, - "maximum": 32767 - } - }, - "required": [ - "published_level", - "slot_index", - "page_index" - ] - }, - "dal_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "reveal_proof_kind", - "dal_page_id", - "dal_proof" - ] - }, - { - "title": "dal parameters proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "dal_parameters_proof" - ] - } - }, - "required": [ - "reveal_proof_kind" - ] - } - ] - } - }, - "required": [ - "input_proof_kind", - "reveal_proof" - ] - }, - { - "title": "first input", - "type": "object", - "properties": { - "input_proof_kind": { - "type": "string", - "enum": [ - "first_input" - ] - } - }, - "required": [ - "input_proof_kind" - ] - } - ] - } - }, - "required": [ - "pvm_step" - ] - } - ] - } - }, - "required": [ - "refutation_kind", - "choice", - "step" - ] - } - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "opponent", - "refutation" - ] - }, - { - "title": "Smart_rollup_timeout", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_timeout" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "stakers": { - "type": "object", - "properties": { - "alice": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "bob": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "alice", - "bob" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "stakers" - ] - }, - { - "title": "Smart_rollup_execute_outbox_message", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_execute_outbox_message" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "cemented_commitment": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "output_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "cemented_commitment", - "output_proof" - ] - }, - { - "title": "Smart_rollup_recover_bond", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_recover_bond" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "staker": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "staker" - ] - }, - { - "title": "Zk_rollup_origination", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "zk_rollup_origination" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "public_parameters": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "circuits_info": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "oneOf": [ - { - "title": "Public", - "type": "object", - "properties": { - "public": {} - }, - "required": [ - "public" - ] - }, - { - "title": "Private", - "type": "object", - "properties": { - "private": {} - }, - "required": [ - "private" - ] - }, - { - "title": "Fee", - "type": "object", - "properties": { - "fee": {} - }, - "required": [ - "fee" - ] - } - ] - } - ] - } - } - }, - "init_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "nb_ops": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "public_parameters", - "circuits_info", - "init_state", - "nb_ops" - ] - }, - { - "title": "Zk_rollup_publish", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "zk_rollup_publish" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "zk_rollup": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "op": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "properties": { - "op_code": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "price": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/script_expr" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "id", - "amount" - ] - }, - "l1_dst": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "rollup_id": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "payload": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - }, - "required": [ - "op_code", - "price", - "l1_dst", - "rollup_id", - "payload" - ] - }, - { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "object", - "properties": { - "contents": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "ty": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - } - }, - "required": [ - "contents", - "ty", - "ticketer" - ] - } - ] - } - ] - } - } - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "zk_rollup", - "op" - ] - }, - { - "title": "Zk_rollup_update", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "zk_rollup_update" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "zk_rollup": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "update": { - "type": "object", - "properties": { - "pending_pis": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "type": "object", - "properties": { - "new_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "fee": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "exit_validity": { - "type": "boolean" - } - }, - "required": [ - "new_state", - "fee", - "exit_validity" - ] - } - ] - } - } - }, - "private_pis": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "type": "object", - "properties": { - "new_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "fee": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "new_state", - "fee" - ] - } - ] - } - } - }, - "fee_pi": { - "type": "object", - "properties": { - "new_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - }, - "required": [ - "new_state" - ] - }, - "proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "pending_pis", - "private_pis", - "fee_pi", - "proof" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "zk_rollup", - "update" - ] - } - ] - }, - "021-PsQuebec.scripted.contracts": { - "type": "object", - "properties": { - "code": {}, - "storage": {} - }, - "required": [ - "code", - "storage" - ] - }, - "Context_hash": { - "title": "A hash of context (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "DAL_commitment": { - "title": "Commitment representation for the DAL (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Ed25519.Public_key_hash": { - "title": "An Ed25519 public key hash (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Operation_hash": { - "title": "A Tezos operation ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Operation_list_list_hash": { - "title": "A list of list of operations (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Protocol_hash": { - "title": "A Tezos protocol ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Signature.Public_key": { - "title": "A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Signature.Public_key_hash": { - "title": "A Ed25519, Secp256k1, P256, or BLS public key hash (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Signature.V1": { - "title": "A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Zk_rollup_hash": { - "title": "A zk rollup address (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "bignum": { - "title": "Big number", - "description": "Decimal representation of a big number", - "type": "string" - }, - "block_hash": { - "title": "A block identifier (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "cycle_nonce": { - "title": "A nonce hash (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "error": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - }, - "error_opt": { - "description": "An optional error-trace (None indicates no error). The full list of errors is available with the global RPC `GET errors`" - }, - "fitness": { - "title": "Block fitness", - "description": "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.", - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "int64": { - "title": "64 bit integers", - "description": "Decimal representation of 64 bit integers", - "type": "string" - }, - "micheline.021-PsQuebec.michelson_v1.expression": { - "oneOf": [ - { - "title": "Int", - "type": "object", - "properties": { - "int": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "int" - ] - }, - { - "title": "String", - "type": "object", - "properties": { - "string": { - "$ref": "#/components/schemas/unistring" - } - }, - "required": [ - "string" - ] - }, - { - "title": "Bytes", - "type": "object", - "properties": { - "bytes": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "bytes" - ] - }, - { - "title": "Sequence", - "type": "array", - "items": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - { - "title": "Prim__generic", - "description": "Generic primitive (any number of args with or without annotations)", - "type": "object", - "properties": { - "prim": { - "$ref": "#/components/schemas/021-PsQuebec.michelson.v1.primitives" - }, - "args": { - "type": "array", - "items": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "annots": { - "type": "array", - "items": { - "$ref": "#/components/schemas/unistring" - } - } - }, - "required": [ - "prim" - ] - } - ] - }, - "positive_bignum": { - "title": "Positive big number", - "description": "Decimal representation of a positive big number", - "type": "string" - }, - "script_expr": { - "title": "A script expression ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "smart_rollup_address": { - "title": "A smart rollup address (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "smart_rollup_commitment_hash": { - "title": "The hash of a commitment of a smart rollup (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "smart_rollup_state_hash": { - "title": "The hash of the VM state of a smart rollup (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "timestamp.protocol": { - "description": "A timestamp as seen by the protocol: second-level precision, epoch based.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "unistring": { - "title": "Universal string representation", - "description": "Either a plain UTF8 string, or a sequence of bytes for strings that contain invalid byte sequences.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "invalid_utf8_string": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0, - "maximum": 255 - } - } - }, - "required": [ - "invalid_utf8_string" - ] - } - ] - }, - "value_hash": { - "title": "Hash of a consensus value (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } -} diff --git a/docs/api/quebec-openapi.json b/docs/api/quebec-openapi.json deleted file mode 100644 index 5b0e0b515bd3..000000000000 --- a/docs/api/quebec-openapi.json +++ /dev/null @@ -1,24488 +0,0 @@ -{ - "openapi": "3.0.0", - "info": { - "title": "Octez Protocol quebec RPC", - "description": "The RPC API for protocol quebec served by the Octez node.", - "version": "Octez 22.0 (TBD)" - }, - "paths": { - "/": { - "get": { - "description": "All the information about a block. The associated metadata may not be present depending on the history mode and block's distance from the head.", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "Supported RPC versions are version \"1\" (default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force_metadata", - "in": "query", - "description": "DEPRECATED: Forces to recompute the operations metadata if it was considered as too large.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "metadata", - "in": "query", - "description": "defines the way metadata are queried Specifies whether or not if the operations metadata should be returned. To get the metadata, even if it is needed to recompute them, use \"always\". To avoid getting the metadata, use \"never\". By default, the metadata will be returned depending on the node's metadata size limit policy.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "protocol": { - "type": "string", - "enum": [ - "ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im" - ] - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "hash": { - "$ref": "#/components/schemas/block_hash" - }, - "header": { - "$ref": "#/components/schemas/raw_block_header" - }, - "metadata": { - "$ref": "#/components/schemas/block_header_metadata" - }, - "operations": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/operation" - } - } - } - }, - "required": [ - "protocol", - "chain_id", - "hash", - "header", - "operations" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/adaptive_issuance_launch_cycle": { - "get": { - "description": "Returns the cycle at which the launch of the Adaptive Issuance feature is set to happen. A result of None means that the feature is not yet set to launch.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/big_maps/{big_map_id}": { - "get": { - "description": "Get the (optionally paginated) list of values in a big map. Order of values is unspecified, but is guaranteed to be consistent.", - "parameters": [ - { - "name": "big_map_id", - "in": "path", - "description": "A big map identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "offset", - "in": "query", - "description": "A non-negative integer (greater than or equal to 0). Skip the first [offset] values. Useful in combination with [length] for pagination.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "length", - "in": "query", - "description": "A non-negative integer (greater than or equal to 0). Only retrieve [length] values. Useful in combination with [offset] for pagination.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/big_maps/{big_map_id}/{script_expr}": { - "get": { - "description": "Access the value associated with a key in a big map.", - "parameters": [ - { - "name": "big_map_id", - "in": "path", - "description": "A big map identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "script_expr", - "in": "path", - "description": "script_expr (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/big_maps/{big_map_id}/{script_expr}/normalized": { - "post": { - "description": "Access the value associated with a key in a big map, normalize the output using the requested unparsing mode.", - "parameters": [ - { - "name": "big_map_id", - "in": "path", - "description": "A big map identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "script_expr", - "in": "path", - "description": "script_expr (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - } - }, - "required": [ - "unparsing_mode" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/cache/contracts/all": { - "get": { - "description": "Return the list of cached contracts", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/Contract_hash" - }, - { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - ] - } - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/cache/contracts/rank": { - "post": { - "description": "Return the number of cached contracts older than the provided contract", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "A contract handle -- originated account", - "description": "A contract notation as given to an RPC or inside scripts. Can be a base58 originated contract hash.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/cache/contracts/size": { - "get": { - "description": "Return the size of the contract cache", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/cache/contracts/size_limit": { - "get": { - "description": "Return the size limit of the contract cache", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/constants": { - "get": { - "description": "All constants", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "proof_of_work_nonce_size": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "nonce_length": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "max_anon_ops_per_block": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "max_operation_data_length": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "max_proposals_per_delegate": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "max_micheline_node_count": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "max_micheline_bytes_limit": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "max_allowed_global_constants_depth": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "cache_layout_size": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "michelson_maximum_type_size": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "max_slashing_period": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "smart_rollup_max_wrapped_proof_binary_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_message_size_limit": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_max_number_of_messages_per_level": { - "$ref": "#/components/schemas/positive_bignum" - }, - "consensus_rights_delay": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "blocks_preservation_cycles": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "delegate_parameters_activation_delay": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "blocks_per_cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "blocks_per_commitment": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "nonce_revelation_threshold": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "cycles_per_voting_period": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "hard_gas_limit_per_operation": { - "$ref": "#/components/schemas/bignum" - }, - "hard_gas_limit_per_block": { - "$ref": "#/components/schemas/bignum" - }, - "proof_of_work_threshold": { - "$ref": "#/components/schemas/int64" - }, - "minimal_stake": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "minimal_frozen_stake": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "vdf_difficulty": { - "$ref": "#/components/schemas/int64" - }, - "origination_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "issuance_weights": { - "type": "object", - "properties": { - "base_total_issued_per_minute": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "baking_reward_fixed_portion_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "baking_reward_bonus_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "attesting_reward_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "seed_nonce_revelation_tip_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "vdf_revelation_tip_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - }, - "required": [ - "base_total_issued_per_minute", - "baking_reward_fixed_portion_weight", - "baking_reward_bonus_weight", - "attesting_reward_weight", - "seed_nonce_revelation_tip_weight", - "vdf_revelation_tip_weight" - ] - }, - "cost_per_byte": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "hard_storage_limit_per_operation": { - "$ref": "#/components/schemas/bignum" - }, - "quorum_min": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "quorum_max": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "min_proposal_quorum": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "liquidity_baking_subsidy": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "liquidity_baking_toggle_ema_threshold": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "max_operations_time_to_live": { - "type": "integer", - "minimum": -32768, - "maximum": 32767 - }, - "minimal_block_delay": { - "$ref": "#/components/schemas/int64" - }, - "delay_increment_per_round": { - "$ref": "#/components/schemas/int64" - }, - "consensus_committee_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "consensus_threshold": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "minimal_participation_ratio": { - "type": "object", - "properties": { - "numerator": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "denominator": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "limit_of_delegation_over_baking": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "percentage_of_frozen_deposits_slashed_per_double_baking": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "percentage_of_frozen_deposits_slashed_per_double_attestation": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "max_slashing_per_block": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "max_slashing_threshold": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "testnet_dictator": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "initial_seed": { - "$ref": "#/components/schemas/random" - }, - "cache_script_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "cache_stake_distribution_cycles": { - "type": "integer", - "minimum": -128, - "maximum": 127 - }, - "cache_sampler_state_cycles": { - "type": "integer", - "minimum": -128, - "maximum": 127 - }, - "dal_parametric": { - "type": "object", - "properties": { - "feature_enable": { - "type": "boolean" - }, - "incentives_enable": { - "type": "boolean" - }, - "number_of_slots": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "attestation_lag": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "attestation_threshold": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "redundancy_factor": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "page_size": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "slot_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "number_of_shards": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - } - }, - "required": [ - "feature_enable", - "incentives_enable", - "number_of_slots", - "attestation_lag", - "attestation_threshold", - "redundancy_factor", - "page_size", - "slot_size", - "number_of_shards" - ] - }, - "smart_rollup_arith_pvm_enable": { - "type": "boolean" - }, - "smart_rollup_origination_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_challenge_window_in_blocks": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_stake_amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "smart_rollup_commitment_period_in_blocks": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_max_lookahead_in_blocks": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "smart_rollup_max_active_outbox_levels": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "smart_rollup_max_outbox_messages_per_level": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_number_of_sections_in_dissection": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "smart_rollup_timeout_period_in_blocks": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_max_number_of_cemented_commitments": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_max_number_of_parallel_games": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_reveal_activation_level": { - "type": "object", - "properties": { - "raw_data": { - "type": "object", - "properties": { - "Blake2B": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - } - }, - "required": [ - "Blake2B" - ] - }, - "metadata": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "dal_page": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "dal_parameters": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "dal_attested_slots_validity_lag": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - }, - "required": [ - "raw_data", - "metadata", - "dal_page", - "dal_parameters", - "dal_attested_slots_validity_lag" - ] - }, - "smart_rollup_private_enable": { - "type": "boolean" - }, - "smart_rollup_riscv_pvm_enable": { - "type": "boolean" - }, - "zk_rollup_enable": { - "type": "boolean" - }, - "zk_rollup_origination_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "zk_rollup_min_pending_to_process": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "zk_rollup_max_ticket_payload_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "global_limit_of_staking_over_baking": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "edge_of_staking_over_delegation": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "adaptive_issuance_launch_ema_threshold": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "adaptive_rewards_params": { - "type": "object", - "properties": { - "issuance_ratio_final_min": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "issuance_ratio_final_max": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "issuance_ratio_initial_min": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "issuance_ratio_initial_max": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "initial_period": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "transition_period": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "max_bonus": { - "$ref": "#/components/schemas/int64" - }, - "growth_rate": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "center_dz": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "radius_dz": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - } - }, - "required": [ - "issuance_ratio_final_min", - "issuance_ratio_final_max", - "issuance_ratio_initial_min", - "issuance_ratio_initial_max", - "initial_period", - "transition_period", - "max_bonus", - "growth_rate", - "center_dz", - "radius_dz" - ] - }, - "adaptive_issuance_activation_vote_enable": { - "type": "boolean" - }, - "autostaking_enable": { - "type": "boolean" - }, - "adaptive_issuance_force_activation": { - "type": "boolean" - }, - "ns_enable": { - "type": "boolean" - }, - "direct_ticket_spending_enable": { - "type": "boolean" - } - }, - "required": [ - "proof_of_work_nonce_size", - "nonce_length", - "max_anon_ops_per_block", - "max_operation_data_length", - "max_proposals_per_delegate", - "max_micheline_node_count", - "max_micheline_bytes_limit", - "max_allowed_global_constants_depth", - "cache_layout_size", - "michelson_maximum_type_size", - "max_slashing_period", - "smart_rollup_max_wrapped_proof_binary_size", - "smart_rollup_message_size_limit", - "smart_rollup_max_number_of_messages_per_level", - "consensus_rights_delay", - "blocks_preservation_cycles", - "delegate_parameters_activation_delay", - "blocks_per_cycle", - "blocks_per_commitment", - "nonce_revelation_threshold", - "cycles_per_voting_period", - "hard_gas_limit_per_operation", - "hard_gas_limit_per_block", - "proof_of_work_threshold", - "minimal_stake", - "minimal_frozen_stake", - "vdf_difficulty", - "origination_size", - "issuance_weights", - "cost_per_byte", - "hard_storage_limit_per_operation", - "quorum_min", - "quorum_max", - "min_proposal_quorum", - "liquidity_baking_subsidy", - "liquidity_baking_toggle_ema_threshold", - "max_operations_time_to_live", - "minimal_block_delay", - "delay_increment_per_round", - "consensus_committee_size", - "consensus_threshold", - "minimal_participation_ratio", - "limit_of_delegation_over_baking", - "percentage_of_frozen_deposits_slashed_per_double_baking", - "percentage_of_frozen_deposits_slashed_per_double_attestation", - "max_slashing_per_block", - "max_slashing_threshold", - "cache_script_size", - "cache_stake_distribution_cycles", - "cache_sampler_state_cycles", - "dal_parametric", - "smart_rollup_arith_pvm_enable", - "smart_rollup_origination_size", - "smart_rollup_challenge_window_in_blocks", - "smart_rollup_stake_amount", - "smart_rollup_commitment_period_in_blocks", - "smart_rollup_max_lookahead_in_blocks", - "smart_rollup_max_active_outbox_levels", - "smart_rollup_max_outbox_messages_per_level", - "smart_rollup_number_of_sections_in_dissection", - "smart_rollup_timeout_period_in_blocks", - "smart_rollup_max_number_of_cemented_commitments", - "smart_rollup_max_number_of_parallel_games", - "smart_rollup_reveal_activation_level", - "smart_rollup_private_enable", - "smart_rollup_riscv_pvm_enable", - "zk_rollup_enable", - "zk_rollup_origination_size", - "zk_rollup_min_pending_to_process", - "zk_rollup_max_ticket_payload_size", - "global_limit_of_staking_over_baking", - "edge_of_staking_over_delegation", - "adaptive_issuance_launch_ema_threshold", - "adaptive_rewards_params", - "adaptive_issuance_activation_vote_enable", - "autostaking_enable", - "adaptive_issuance_force_activation", - "ns_enable", - "direct_ticket_spending_enable" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/constants/errors": { - "get": { - "description": "Schema for all the RPC errors from this protocol version", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": {} - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/constants/parametric": { - "get": { - "description": "Parametric constants", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "consensus_rights_delay": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "blocks_preservation_cycles": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "delegate_parameters_activation_delay": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "blocks_per_cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "blocks_per_commitment": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "nonce_revelation_threshold": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "cycles_per_voting_period": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "hard_gas_limit_per_operation": { - "$ref": "#/components/schemas/bignum" - }, - "hard_gas_limit_per_block": { - "$ref": "#/components/schemas/bignum" - }, - "proof_of_work_threshold": { - "$ref": "#/components/schemas/int64" - }, - "minimal_stake": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "minimal_frozen_stake": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "vdf_difficulty": { - "$ref": "#/components/schemas/int64" - }, - "origination_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "issuance_weights": { - "type": "object", - "properties": { - "base_total_issued_per_minute": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "baking_reward_fixed_portion_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "baking_reward_bonus_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "attesting_reward_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "seed_nonce_revelation_tip_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "vdf_revelation_tip_weight": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - }, - "required": [ - "base_total_issued_per_minute", - "baking_reward_fixed_portion_weight", - "baking_reward_bonus_weight", - "attesting_reward_weight", - "seed_nonce_revelation_tip_weight", - "vdf_revelation_tip_weight" - ] - }, - "cost_per_byte": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "hard_storage_limit_per_operation": { - "$ref": "#/components/schemas/bignum" - }, - "quorum_min": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "quorum_max": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "min_proposal_quorum": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "liquidity_baking_subsidy": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "liquidity_baking_toggle_ema_threshold": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "max_operations_time_to_live": { - "type": "integer", - "minimum": -32768, - "maximum": 32767 - }, - "minimal_block_delay": { - "$ref": "#/components/schemas/int64" - }, - "delay_increment_per_round": { - "$ref": "#/components/schemas/int64" - }, - "consensus_committee_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "consensus_threshold": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "minimal_participation_ratio": { - "type": "object", - "properties": { - "numerator": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "denominator": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "limit_of_delegation_over_baking": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "percentage_of_frozen_deposits_slashed_per_double_baking": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "percentage_of_frozen_deposits_slashed_per_double_attestation": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "max_slashing_per_block": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "max_slashing_threshold": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "testnet_dictator": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "initial_seed": { - "$ref": "#/components/schemas/random" - }, - "cache_script_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "cache_stake_distribution_cycles": { - "type": "integer", - "minimum": -128, - "maximum": 127 - }, - "cache_sampler_state_cycles": { - "type": "integer", - "minimum": -128, - "maximum": 127 - }, - "dal_parametric": { - "type": "object", - "properties": { - "feature_enable": { - "type": "boolean" - }, - "incentives_enable": { - "type": "boolean" - }, - "number_of_slots": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "attestation_lag": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "attestation_threshold": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "redundancy_factor": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "page_size": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "slot_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "number_of_shards": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - } - }, - "required": [ - "feature_enable", - "incentives_enable", - "number_of_slots", - "attestation_lag", - "attestation_threshold", - "redundancy_factor", - "page_size", - "slot_size", - "number_of_shards" - ] - }, - "smart_rollup_arith_pvm_enable": { - "type": "boolean" - }, - "smart_rollup_origination_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_challenge_window_in_blocks": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_stake_amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "smart_rollup_commitment_period_in_blocks": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_max_lookahead_in_blocks": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "smart_rollup_max_active_outbox_levels": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "smart_rollup_max_outbox_messages_per_level": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_number_of_sections_in_dissection": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "smart_rollup_timeout_period_in_blocks": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_max_number_of_cemented_commitments": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_max_number_of_parallel_games": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "smart_rollup_reveal_activation_level": { - "type": "object", - "properties": { - "raw_data": { - "type": "object", - "properties": { - "Blake2B": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - } - }, - "required": [ - "Blake2B" - ] - }, - "metadata": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "dal_page": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "dal_parameters": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "dal_attested_slots_validity_lag": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - }, - "required": [ - "raw_data", - "metadata", - "dal_page", - "dal_parameters", - "dal_attested_slots_validity_lag" - ] - }, - "smart_rollup_private_enable": { - "type": "boolean" - }, - "smart_rollup_riscv_pvm_enable": { - "type": "boolean" - }, - "zk_rollup_enable": { - "type": "boolean" - }, - "zk_rollup_origination_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "zk_rollup_min_pending_to_process": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "zk_rollup_max_ticket_payload_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "global_limit_of_staking_over_baking": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "edge_of_staking_over_delegation": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "adaptive_issuance_launch_ema_threshold": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "adaptive_rewards_params": { - "type": "object", - "properties": { - "issuance_ratio_final_min": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "issuance_ratio_final_max": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "issuance_ratio_initial_min": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "issuance_ratio_initial_max": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "initial_period": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "transition_period": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "max_bonus": { - "$ref": "#/components/schemas/int64" - }, - "growth_rate": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "center_dz": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "radius_dz": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/bignum" - }, - "denominator": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - } - }, - "required": [ - "issuance_ratio_final_min", - "issuance_ratio_final_max", - "issuance_ratio_initial_min", - "issuance_ratio_initial_max", - "initial_period", - "transition_period", - "max_bonus", - "growth_rate", - "center_dz", - "radius_dz" - ] - }, - "adaptive_issuance_activation_vote_enable": { - "type": "boolean" - }, - "autostaking_enable": { - "type": "boolean" - }, - "adaptive_issuance_force_activation": { - "type": "boolean" - }, - "ns_enable": { - "type": "boolean" - }, - "direct_ticket_spending_enable": { - "type": "boolean" - } - }, - "required": [ - "consensus_rights_delay", - "blocks_preservation_cycles", - "delegate_parameters_activation_delay", - "blocks_per_cycle", - "blocks_per_commitment", - "nonce_revelation_threshold", - "cycles_per_voting_period", - "hard_gas_limit_per_operation", - "hard_gas_limit_per_block", - "proof_of_work_threshold", - "minimal_stake", - "minimal_frozen_stake", - "vdf_difficulty", - "origination_size", - "issuance_weights", - "cost_per_byte", - "hard_storage_limit_per_operation", - "quorum_min", - "quorum_max", - "min_proposal_quorum", - "liquidity_baking_subsidy", - "liquidity_baking_toggle_ema_threshold", - "max_operations_time_to_live", - "minimal_block_delay", - "delay_increment_per_round", - "consensus_committee_size", - "consensus_threshold", - "minimal_participation_ratio", - "limit_of_delegation_over_baking", - "percentage_of_frozen_deposits_slashed_per_double_baking", - "percentage_of_frozen_deposits_slashed_per_double_attestation", - "max_slashing_per_block", - "max_slashing_threshold", - "cache_script_size", - "cache_stake_distribution_cycles", - "cache_sampler_state_cycles", - "dal_parametric", - "smart_rollup_arith_pvm_enable", - "smart_rollup_origination_size", - "smart_rollup_challenge_window_in_blocks", - "smart_rollup_stake_amount", - "smart_rollup_commitment_period_in_blocks", - "smart_rollup_max_lookahead_in_blocks", - "smart_rollup_max_active_outbox_levels", - "smart_rollup_max_outbox_messages_per_level", - "smart_rollup_number_of_sections_in_dissection", - "smart_rollup_timeout_period_in_blocks", - "smart_rollup_max_number_of_cemented_commitments", - "smart_rollup_max_number_of_parallel_games", - "smart_rollup_reveal_activation_level", - "smart_rollup_private_enable", - "smart_rollup_riscv_pvm_enable", - "zk_rollup_enable", - "zk_rollup_origination_size", - "zk_rollup_min_pending_to_process", - "zk_rollup_max_ticket_payload_size", - "global_limit_of_staking_over_baking", - "edge_of_staking_over_delegation", - "adaptive_issuance_launch_ema_threshold", - "adaptive_rewards_params", - "adaptive_issuance_activation_vote_enable", - "autostaking_enable", - "adaptive_issuance_force_activation", - "ns_enable", - "direct_ticket_spending_enable" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts": { - "get": { - "description": "All existing contracts (excluding empty implicit contracts).", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}": { - "get": { - "description": "Access the complete status of a contract.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "normalize_types", - "in": "query", - "description": "Whether types should be normalized (annotations removed, combs flattened) or kept as they appeared in the original script.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "balance": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "script": { - "$ref": "#/components/schemas/021-PsQuebec.scripted.contracts" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "balance" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/all_ticket_balances": { - "get": { - "description": "Access the complete list of tickets owned by the given contract by scanning the contract's storage.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "amount": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "ticketer", - "content_type", - "content", - "amount" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/balance": { - "get": { - "description": "The spendable balance of a contract (in mutez), also known as liquid balance. Corresponds to tez owned by the contract that are neither staked, nor in unstaked requests, nor in frozen bonds. Identical to the 'spendable' RPC.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/balance_and_frozen_bonds": { - "get": { - "description": "The sum (in mutez) of the spendable balance and frozen bonds of a contract. Corresponds to the contract's full balance from which staked funds and unstake requests have been excluded. Identical to the 'spendable_and_frozen_bonds' RPC.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/big_map_get": { - "post": { - "description": "Access the value associated with a key in a big map of the contract (deprecated).", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "key", - "type" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/counter": { - "get": { - "description": "Access the counter of a contract, if any.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "Positive big number", - "description": "Decimal representation of a positive big number", - "type": "string" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/delegate": { - "get": { - "description": "Access the delegate of a contract, if any.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "A Ed25519, Secp256k1, P256, or BLS public key hash (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/entrypoints": { - "get": { - "description": "Return the list of entrypoints of the contract", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "normalize_types", - "in": "query", - "description": "Whether types should be normalized (annotations removed, combs flattened) or kept as they appeared in the original script.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "unreachable": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.michelson.v1.primitives" - } - } - }, - "required": [ - "path" - ] - } - }, - "entrypoints": { - "type": "object", - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - } - }, - "required": [ - "entrypoints" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/entrypoints/{entrypoint}": { - "get": { - "description": "Return the type of the given entrypoint of the contract", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "entrypoint", - "in": "path", - "description": "A Michelson entrypoint (string of length < 32)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "normalize_types", - "in": "query", - "description": "Whether types should be normalized (annotations removed, combs flattened) or kept as they appeared in the original script.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/estimated_own_pending_slashed_amount": { - "get": { - "description": "Returns the estimated own pending slashed amount (in mutez) of a given contract.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/frozen_bonds": { - "get": { - "description": "Access the frozen bonds of a contract.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/full_balance": { - "get": { - "description": "The full balance (in mutez) of the contract. Includes its spendable balance, staked tez, unstake requests, and frozen bonds. Even if the contract is a delegate, it does not include any staked or delegated tez owned by external delegators.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/manager_key": { - "get": { - "description": "Access the manager of an implicit contract.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/Signature.Public_key" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/script": { - "get": { - "description": "Access the code and data of the contract.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "code": {}, - "storage": {} - }, - "required": [ - "code", - "storage" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/script/normalized": { - "post": { - "description": "Access the script of the contract and normalize it using the requested unparsing mode.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - }, - "normalize_types": { - "type": "boolean" - } - }, - "required": [ - "unparsing_mode" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/021-PsQuebec.scripted.contracts" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/single_sapling_get_diff": { - "get": { - "description": "Returns the root and a diff of a state starting from an optional offset which is zero by default.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "offset_commitment", - "in": "query", - "description": "Commitments and ciphertexts are returned from the specified offset up to the most recent.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "offset_nullifier", - "in": "query", - "description": "Nullifiers are returned from the specified offset up to the most recent.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "root": { - "$ref": "#/components/schemas/sapling.transaction.commitment_hash" - }, - "commitments_and_ciphertexts": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/sapling.transaction.commitment" - }, - { - "$ref": "#/components/schemas/sapling.transaction.ciphertext" - } - ] - } - } - }, - "nullifiers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/sapling.transaction.nullifier" - } - } - }, - "required": [ - "root", - "commitments_and_ciphertexts", - "nullifiers" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/spendable": { - "get": { - "description": "The spendable balance of a contract (in mutez), also known as liquid balance. Corresponds to tez owned by the contract that are neither staked, nor in unstaked requests, nor in frozen bonds. Identical to the 'balance' RPC.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/spendable_and_frozen_bonds": { - "get": { - "description": "The sum (in mutez) of the spendable balance and frozen bonds of a contract. Corresponds to the contract's full balance from which staked funds and unstake requests have been excluded. Identical to the 'balance_and_frozen_bonds' RPC.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/staked_balance": { - "get": { - "description": "Access the staked balance of a contract (in mutez). Returns None if the contract is originated, or neither delegated nor a delegate.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/staking_numerator": { - "get": { - "description": "Returns an abstract representation of the contract's total_delegated_stake.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/storage": { - "get": { - "description": "Access the data of the contract.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/storage/normalized": { - "post": { - "description": "Access the data of the contract and normalize it using the requested unparsing mode.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - } - }, - "required": [ - "unparsing_mode" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/storage/paid_space": { - "get": { - "description": "Access the paid storage space of the contract.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/bignum" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/storage/used_space": { - "get": { - "description": "Access the used storage space of the contract.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/bignum" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/ticket_balance": { - "post": { - "description": "Access the contract's balance of ticket with specified ticketer, content type, and content.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "Positive big number", - "description": "Decimal representation of a positive big number", - "type": "string" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/unstake_requests": { - "get": { - "description": "Access the unstake requests of the contract. The requests that appear in the finalizable field can be finalized, which means that the contract can transfer these (no longer frozen) funds to their spendable balance with a [finalize_unstake] operation call. Returns None if there is no unstake request pending.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "object", - "properties": { - "finalizable": { - "type": "array", - "items": { - "type": "object", - "properties": { - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "delegate", - "cycle", - "amount" - ] - } - }, - "unfinalizable": { - "type": "object", - "properties": { - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "requests": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "cycle", - "amount" - ] - } - } - }, - "required": [ - "delegate", - "requests" - ] - } - }, - "required": [ - "finalizable", - "unfinalizable" - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/unstaked_finalizable_balance": { - "get": { - "description": "Access the balance of a contract that was requested for an unstake operation, and is no longer frozen, which means it will appear in the spendable balance of the contract after any stake/unstake/finalize_unstake operation. Returns None if the contract is originated.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/contracts/{contract_id}/unstaked_frozen_balance": { - "get": { - "description": "Access the balance of a contract that was requested for an unstake operation, but is still frozen for the duration of the slashing period. Returns None if the contract is originated.", - "parameters": [ - { - "name": "contract_id", - "in": "path", - "description": "A contract identifier encoded in b58check.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/dal/commitments_history": { - "get": { - "description": "Returns the (currently last) DAL skip list cell if DAL is enabled, or [None] otherwise.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "title": "dal_skip_list_legacy", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "dal_skip_list_legacy" - ] - }, - "skip_list": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "skip_list" - ] - }, - { - "title": "dal_skip_list", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "dal_skip_list" - ] - }, - "skip_list": { - "type": "object", - "properties": { - "index": { - "$ref": "#/components/schemas/positive_bignum" - }, - "content": { - "oneOf": [ - { - "title": "unattested", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "unattested" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - } - }, - "required": [ - "kind", - "level", - "index" - ] - }, - { - "title": "attested", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attested" - ] - }, - "version": { - "type": "string", - "enum": [ - "0" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "commitment": { - "$ref": "#/components/schemas/DAL_commitment" - } - }, - "required": [ - "kind", - "version", - "level", - "index", - "commitment" - ] - } - ] - }, - "back_pointers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/dal_skip_list_pointer" - } - } - }, - "required": [ - "index", - "content", - "back_pointers" - ] - } - }, - "required": [ - "kind", - "skip_list" - ] - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/dal/published_slot_headers": { - "get": { - "description": "Get the published slots headers for the given level", - "parameters": [ - { - "name": "level", - "in": "query", - "description": "A level integer", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "version": { - "type": "string", - "enum": [ - "0" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "commitment": { - "$ref": "#/components/schemas/DAL_commitment" - } - }, - "required": [ - "version", - "level", - "index", - "commitment" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/dal/shards": { - "get": { - "description": "Get the shards assignment for a given level (the default is the current level) and given delegates (the default is all delegates)", - "parameters": [ - { - "name": "level", - "in": "query", - "description": "A level integer", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "delegates", - "in": "query", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "indexes": { - "type": "array", - "items": { - "type": "integer", - "minimum": -32768, - "maximum": 32767 - } - } - }, - "required": [ - "delegate", - "indexes" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates": { - "get": { - "description": "Lists all registered delegates by default. The arguments `active`, `inactive`, `with_minimal_stake`, and `without_minimal_stake` allow to enumerate only the delegates that are active, inactive, have at least a minimal stake to participate in consensus and in governance, or do not have such a minimal stake, respectively. Note, setting these arguments to false has no effect.", - "parameters": [ - { - "name": "active", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "inactive", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "with_minimal_stake", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "without_minimal_stake", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}": { - "get": { - "description": "Everything about a delegate. Gathers the outputs of all RPCs with the ../delegates/ prefix.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "deactivated": { - "type": "boolean" - }, - "is_forbidden": { - "type": "boolean" - }, - "participation": { - "type": "object", - "properties": { - "expected_cycle_activity": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "minimal_cycle_activity": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "missed_slots": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "missed_levels": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "remaining_allowed_missed_slots": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "expected_attesting_rewards": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "expected_cycle_activity", - "minimal_cycle_activity", - "missed_slots", - "missed_levels", - "remaining_allowed_missed_slots", - "expected_attesting_rewards" - ] - }, - "grace_period": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "active_staking_parameters": { - "type": "object", - "properties": { - "limit_of_staking_over_baking_millionth": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "edge_of_baking_over_staking_billionth": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - }, - "required": [ - "limit_of_staking_over_baking_millionth", - "edge_of_baking_over_staking_billionth" - ] - }, - "pending_staking_parameters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "parameters": { - "type": "object", - "properties": { - "limit_of_staking_over_baking_millionth": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "edge_of_baking_over_staking_billionth": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - }, - "required": [ - "limit_of_staking_over_baking_millionth", - "edge_of_baking_over_staking_billionth" - ] - } - }, - "required": [ - "cycle", - "parameters" - ] - } - }, - "baking_power": { - "$ref": "#/components/schemas/int64" - }, - "total_staked": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "total_delegated": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "min_delegated_in_current_cycle": { - "type": "object", - "properties": { - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "level": { - "type": "object", - "properties": { - "level": { - "description": "The level of the block relative to genesis. This is also the Shell's notion of level.", - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "level_position": { - "description": "The level of the block relative to the successor of the genesis block. More precisely, it is the position of the block relative to the block that starts the \"Alpha family\" of protocols, which includes all protocols except Genesis (that is, from 001 onwards).", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "cycle": { - "description": "The current cycle's number. Note that cycles are a protocol-specific notion. As a result, the cycle number starts at 0 with the first block of the Alpha family of protocols.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "cycle_position": { - "description": "The current level of the block relative to the first block of the current cycle.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "expected_commitment": { - "description": "Tells whether the baker of this block has to commit a seed nonce hash.", - "type": "boolean" - } - }, - "required": [ - "level", - "level_position", - "cycle", - "cycle_position", - "expected_commitment" - ] - } - }, - "required": [ - "amount" - ] - }, - "own_full_balance": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "own_staked": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "own_delegated": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "external_staked": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "external_delegated": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "total_unstaked_per_cycle": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "deposit": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "cycle", - "deposit" - ] - } - }, - "denunciations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operation_hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "rewarded": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "misbehaviour": { - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "kind": { - "type": "string", - "enum": [ - "attestation", - "block", - "preattestation" - ] - } - }, - "required": [ - "level", - "round", - "kind" - ] - } - }, - "required": [ - "operation_hash", - "rewarded", - "misbehaviour" - ] - } - }, - "estimated_shared_pending_slashed_amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "staking_denominator": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "current_voting_power": { - "$ref": "#/components/schemas/int64" - }, - "voting_power": { - "$ref": "#/components/schemas/int64" - }, - "voting_info": { - "type": "object", - "properties": { - "voting_power": { - "$ref": "#/components/schemas/int64" - }, - "current_ballot": { - "type": "string", - "enum": [ - "nay", - "yay", - "pass" - ] - }, - "current_proposals": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Protocol_hash" - } - }, - "remaining_proposals": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - } - }, - "consensus_key": { - "type": "object", - "properties": { - "active": { - "type": "object", - "properties": { - "pkh": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "pk": { - "$ref": "#/components/schemas/Signature.Public_key" - } - }, - "required": [ - "pkh", - "pk" - ] - }, - "pendings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "pkh": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "pk": { - "$ref": "#/components/schemas/Signature.Public_key" - } - }, - "required": [ - "cycle", - "pkh", - "pk" - ] - } - } - }, - "required": [ - "active" - ] - }, - "stakers": { - "type": "array", - "items": { - "type": "object", - "properties": { - "staker": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.implicit" - }, - "frozen_deposits": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "staker", - "frozen_deposits" - ] - } - }, - "delegators": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - } - } - }, - "required": [ - "deactivated", - "is_forbidden", - "participation", - "grace_period", - "active_staking_parameters", - "pending_staking_parameters", - "baking_power", - "total_staked", - "total_delegated", - "min_delegated_in_current_cycle", - "own_full_balance", - "own_staked", - "own_delegated", - "external_staked", - "external_delegated", - "total_unstaked_per_cycle", - "denunciations", - "estimated_shared_pending_slashed_amount", - "staking_denominator", - "current_voting_power", - "voting_power", - "voting_info", - "consensus_key", - "stakers", - "delegators" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/active_staking_parameters": { - "get": { - "description": "Returns the currently active staking parameters for the given delegate.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "limit_of_staking_over_baking_millionth": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "edge_of_baking_over_staking_billionth": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - }, - "required": [ - "limit_of_staking_over_baking_millionth", - "edge_of_baking_over_staking_billionth" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/baking_power": { - "get": { - "description": "The current baking power of a delegate, using the current staked and delegated balances of the baker and its delegators. In other words, the baking rights that the baker would get for a future cycle if the current cycle ended right at the current block.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "64 bit integers", - "description": "Decimal representation of 64 bit integers", - "type": "string" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/consensus_key": { - "get": { - "description": "The active consensus key for a given delegate and the pending consensus keys.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "active": { - "type": "object", - "properties": { - "pkh": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "pk": { - "$ref": "#/components/schemas/Signature.Public_key" - } - }, - "required": [ - "pkh", - "pk" - ] - }, - "pendings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "pkh": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "pk": { - "$ref": "#/components/schemas/Signature.Public_key" - } - }, - "required": [ - "cycle", - "pkh", - "pk" - ] - } - } - }, - "required": [ - "active" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/current_baking_power": { - "get": { - "description": "DEPRECATED; use baking_power instead.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "64 bit integers", - "description": "Decimal representation of 64 bit integers", - "type": "string" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/current_frozen_deposits": { - "get": { - "description": "DEPRECATED; use total_staked instead.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/current_voting_power": { - "get": { - "description": "The voting power of a given delegate, as computed from its current stake.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "64 bit integers", - "description": "Decimal representation of 64 bit integers", - "type": "string" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/deactivated": { - "get": { - "description": "Tells whether the delegate is currently tagged as deactivated or not.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "boolean" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/delegated_balance": { - "get": { - "description": "DEPRECATED; to get this value, you can call RPCs external_staked and external_delegated, and add their outputs together.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/delegated_contracts": { - "get": { - "description": "DEPRECATED; use delegators instead.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/delegators": { - "get": { - "description": "The list of all contracts that are currently delegating to the delegate. Includes both user accounts and smart contracts. Includes the delegate itself.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/denunciations": { - "get": { - "description": "Returns the pending denunciations for the given delegate.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operation_hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "rewarded": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "misbehaviour": { - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "kind": { - "type": "string", - "enum": [ - "attestation", - "block", - "preattestation" - ] - } - }, - "required": [ - "level", - "round", - "kind" - ] - } - }, - "required": [ - "operation_hash", - "rewarded", - "misbehaviour" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/estimated_shared_pending_slashed_amount": { - "get": { - "description": "Returns the estimated shared pending slashed amount (in mutez) of a given delegate.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/external_delegated": { - "get": { - "description": "The sum (in mutez) of non-staked tokens that currently count as delegated to the baker, excluding those owned by the baker iself. Does not take limits such as overstaking or overdelegation into account. This includes the spendable balances and frozen bonds of all the baker's external delegators. It also includes unstake requests of contracts other than the baker, on the condition that the contract was delegating to the baker at the time of the unstake operation. So this includes most but not all unstake requests from current delegators, and might include some unstake requests from old delegators. Limits such as overstaking and overdelegation have not been applied yet.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/external_staked": { - "get": { - "description": "The sum (in mutez) of all tokens currently staked by the baker's external delegators. This excludes the baker's own staked tokens.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/frozen_deposits": { - "get": { - "description": "DEPRECATED; call RPC total_staked on the last block of (current_cycle - 3) instead. Returns the total amount (in mutez) that was staked for the baker by all stakers (including the baker itself) at the time the staking rights for the current cycle were computed.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/frozen_deposits_limit": { - "get": { - "description": "DEPRECATED; the frozen deposits limit has no effects since the activation of Adaptive Issuance and Staking during the Paris protocol.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/full_balance": { - "get": { - "description": "DEPRECATED; use own_full_balance instead.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/grace_period": { - "get": { - "description": "Returns the cycle by the end of which the delegate might be deactivated if she fails to execute any delegate action. A deactivated delegate might be reactivated (without loosing any stake) by simply re-registering as a delegate. For deactivated delegates, this value contains the cycle at which they were deactivated.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/is_forbidden": { - "get": { - "description": "Returns true if the delegate is forbidden to participate in consensus.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "boolean" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/min_delegated_in_current_cycle": { - "get": { - "description": "Returns the minimum of delegated tez (in mutez) during the current cycle and the block level at the end of which the minimum was reached. This only takes into account the value of `total_delegated` at the end of each block, not in the middle of applying operations. This is the delegated amount that would be used to compute the delegate's future baking rights if the cycle ended at the current block. If the minimum was reached multiple times, the returned level is the earliest level of the current cycle that reached this minimum. For instance, if `total_delegated` hasn't changed at all since the beginning of the current cycle, returns the first level of the current cycle. (If the contract is not registered as a delegate, returns 0 mutez and omits the level.)", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "level": { - "type": "object", - "properties": { - "level": { - "description": "The level of the block relative to genesis. This is also the Shell's notion of level.", - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "level_position": { - "description": "The level of the block relative to the successor of the genesis block. More precisely, it is the position of the block relative to the block that starts the \"Alpha family\" of protocols, which includes all protocols except Genesis (that is, from 001 onwards).", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "cycle": { - "description": "The current cycle's number. Note that cycles are a protocol-specific notion. As a result, the cycle number starts at 0 with the first block of the Alpha family of protocols.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "cycle_position": { - "description": "The current level of the block relative to the first block of the current cycle.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "expected_commitment": { - "description": "Tells whether the baker of this block has to commit a seed nonce hash.", - "type": "boolean" - } - }, - "required": [ - "level", - "level_position", - "cycle", - "cycle_position", - "expected_commitment" - ] - } - }, - "required": [ - "amount" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/own_delegated": { - "get": { - "description": "The amount (in mutez) currently owned by the baker itself and counting as delegated for the purpose of baking rights. This corresponds to all non-staked tokens owned by the baker: spendable balance, frozen bonds, and unstake requests. (Note: There is one exception: if the baker still has unstake requests created at a time when it was delegating to a different delegate, then these unstake requests still count as delegated to the former delegate. Any such unstake requests are excluded from the amount returned by the present RPC, despite being non-staked tokens owned by the baker.)", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/own_full_balance": { - "get": { - "description": "The full balance (in mutez) of tokens owned by the delegate itself. Includes its spendable balance, staked tez, unstake requests, and frozen bonds. Does not include any tokens owned by external delegators. This RPC fails when the pkh is not a delegate. When it is a delegate, this RPC outputs the same amount as ..//context/contracts//full_balance.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/own_staked": { - "get": { - "description": "The amount (in mutez) currently owned and staked by the baker itself. Returns the same value as ..//context/contracts//staked_balance (except for the fact that the present RPC fails if the public_key_hash in the path is not a delegate).", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/participation": { - "get": { - "description": "Returns cycle and level participation information. In particular this indicates, in the field 'expected_cycle_activity', the number of slots the delegate is expected to have in the cycle based on its active stake. The field 'minimal_cycle_activity' indicates the minimal attesting slots in the cycle required to get attesting rewards. It is computed based on 'expected_cycle_activity. The fields 'missed_slots' and 'missed_levels' indicate the number of missed attesting slots and missed levels (for attesting) in the cycle so far. 'missed_slots' indicates the number of missed attesting slots in the cycle so far. The field 'remaining_allowed_missed_slots' indicates the remaining amount of attesting slots that can be missed in the cycle before forfeiting the rewards. Finally, 'expected_attesting_rewards' indicates the attesting rewards that will be distributed at the end of the cycle if activity at that point will be greater than the minimal required; if the activity is already known to be below the required minimum, then the rewards are zero.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "expected_cycle_activity": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "minimal_cycle_activity": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "missed_slots": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "missed_levels": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "remaining_allowed_missed_slots": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "expected_attesting_rewards": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "expected_cycle_activity", - "minimal_cycle_activity", - "missed_slots", - "missed_levels", - "remaining_allowed_missed_slots", - "expected_attesting_rewards" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/pending_staking_parameters": { - "get": { - "description": "Returns the pending values for the given delegate's staking parameters.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "parameters": { - "type": "object", - "properties": { - "limit_of_staking_over_baking_millionth": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "edge_of_baking_over_staking_billionth": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - }, - "required": [ - "limit_of_staking_over_baking_millionth", - "edge_of_baking_over_staking_billionth" - ] - } - }, - "required": [ - "cycle", - "parameters" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/stakers": { - "get": { - "description": "Returns the list of accounts that stake to a given delegate together with their share of the frozen deposits.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "staker": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.implicit" - }, - "frozen_deposits": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "staker", - "frozen_deposits" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/staking_balance": { - "get": { - "description": "DEPRECATED; to get this value, you can call RPCs total_staked and total_delegated, and add their outputs together.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/staking_denominator": { - "get": { - "description": "Returns an abstract representation of the total delegated stake.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/total_delegated": { - "get": { - "description": "All tokens (in mutez) that currently count as delegated for the purpose of computing the baker's rights; they weigh half as much as staked tez in the rights. Limits such as overstaking and overdelegation have not been applied yet. This corresponds to all non-staked tez owned by the baker's delegators (including the baker itself): spendable balances, frozen bonds, and unstaked requests, except for any unstake requests that have been created before the delegator changed its delegate to the current baker (because they still count as delegated for the old delegate instead).", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/total_delegated_stake": { - "get": { - "description": "DEPRECATED; use external_staked instead.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/total_staked": { - "get": { - "description": "The total amount (in mutez) currently staked for the baker, both by the baker itself and by external stakers. This is the staked amount before applying the baker's 'limit_of_staking_over_baking'; in other words, it includes overstaked tez if there are any.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/total_unstaked_per_cycle": { - "get": { - "description": "For each cycle, returns the total amount (in mutez) contained in all unstake requests created during this cycle by all delegators, including the baker itself. Note that these tokens count as delegated to the baker for the purpose of computing baking rights, and are included in the amount returned by the total_delegated RPC.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "deposit": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "cycle", - "deposit" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/unstaked_frozen_deposits": { - "get": { - "description": "DEPRECATED; use total_unstaked_per_cycle instead.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "deposit": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "cycle", - "deposit" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/voting_info": { - "get": { - "description": "Returns the delegate info (e.g. voting power) found in the listings of the current voting period.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "voting_power": { - "$ref": "#/components/schemas/int64" - }, - "current_ballot": { - "type": "string", - "enum": [ - "nay", - "yay", - "pass" - ] - }, - "current_proposals": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Protocol_hash" - } - }, - "remaining_proposals": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/delegates/{pkh}/voting_power": { - "get": { - "description": "The voting power in the vote listings for a given delegate.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "64 bit integers", - "description": "Decimal representation of 64 bit integers", - "type": "string" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/denunciations": { - "get": { - "description": "Returns the denunciations for misbehavior in the current cycle.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "slashed_delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "operation_hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "rewarded": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "misbehaviour": { - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "kind": { - "type": "string", - "enum": [ - "attestation", - "block", - "preattestation" - ] - } - }, - "required": [ - "level", - "round", - "kind" - ] - } - }, - "required": [ - "slashed_delegate", - "operation_hash", - "rewarded", - "misbehaviour" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/issuance/current_yearly_rate": { - "get": { - "description": "Returns the current expected maximum yearly issuance rate (in %). The value only includes participation rewards (and does not include liquidity baking)", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "Universal string representation", - "description": "Either a plain UTF8 string, or a sequence of bytes for strings that contain invalid byte sequences.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "invalid_utf8_string": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0, - "maximum": 255 - } - } - }, - "required": [ - "invalid_utf8_string" - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/issuance/current_yearly_rate_details": { - "get": { - "description": "Returns the static and dynamic parts of the current expected maximum yearly issuance rate (in %). The value only includes participation rewards (and does not include liquidity baking)", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "static": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/positive_bignum" - }, - "denominator": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - }, - "dynamic": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/positive_bignum" - }, - "denominator": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - } - }, - "required": [ - "static", - "dynamic" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/issuance/current_yearly_rate_exact": { - "get": { - "description": "Returns the current expected maximum yearly issuance rate (exact quotient) (in %). The value only includes participation rewards (and does not include liquidity baking)", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "numerator": { - "$ref": "#/components/schemas/positive_bignum" - }, - "denominator": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "numerator", - "denominator" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/issuance/expected_issuance": { - "get": { - "description": "Returns the expected issued tez for the provided block and the next 'consensus_rights_delay' cycles (in mutez)", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "baking_reward_fixed_portion": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "baking_reward_bonus_per_slot": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "attesting_reward_per_slot": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "seed_nonce_revelation_tip": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "vdf_revelation_tip": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "cycle", - "baking_reward_fixed_portion", - "baking_reward_bonus_per_slot", - "attesting_reward_per_slot", - "seed_nonce_revelation_tip", - "vdf_revelation_tip" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/issuance/issuance_per_minute": { - "get": { - "description": "Returns the current expected maximum issuance per minute (in mutez). The value only includes participation rewards (and does not include liquidity baking)", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/liquidity_baking/cpmm_address": { - "get": { - "description": "Liquidity baking CPMM address", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "A contract handle -- originated account", - "description": "A contract notation as given to an RPC or inside scripts. Can be a base58 originated contract hash.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/merkle_tree": { - "get": { - "description": "Returns the merkle tree of a piece of context.", - "parameters": [ - { - "name": "holey", - "in": "query", - "description": "Send only hashes, omit data of key", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/merkle_tree" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/merkle_tree_v2": { - "get": { - "description": "Returns the Irmin merkle tree of a piece of context.", - "parameters": [ - { - "name": "holey", - "in": "query", - "description": "Send only hashes, omit data of key", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "object", - "properties": { - "version": { - "type": "integer", - "minimum": -32768, - "maximum": 32767 - }, - "before": { - "oneOf": [ - { - "title": "Value", - "type": "object", - "properties": { - "value": { - "$ref": "#/components/schemas/Context_hash" - } - }, - "required": [ - "value" - ] - }, - { - "title": "Node", - "type": "object", - "properties": { - "node": { - "$ref": "#/components/schemas/Context_hash" - } - }, - "required": [ - "node" - ] - } - ] - }, - "after": { - "oneOf": [ - { - "title": "Value", - "type": "object", - "properties": { - "value": { - "$ref": "#/components/schemas/Context_hash" - } - }, - "required": [ - "value" - ] - }, - { - "title": "Node", - "type": "object", - "properties": { - "node": { - "$ref": "#/components/schemas/Context_hash" - } - }, - "required": [ - "node" - ] - } - ] - }, - "state": { - "$ref": "#/components/schemas/tree_encoding" - } - }, - "required": [ - "version", - "before", - "after", - "state" - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/nonces/{block_level}": { - "get": { - "description": "Info about the nonce of a previous block.", - "parameters": [ - { - "name": "block_level", - "in": "path", - "description": "A level integer", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "title": "Revealed", - "type": "object", - "properties": { - "nonce": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "nonce" - ] - }, - { - "title": "Missing", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/cycle_nonce" - } - }, - "required": [ - "hash" - ] - }, - { - "title": "Forgotten", - "type": "object", - "properties": {} - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/raw/bytes": { - "get": { - "description": "Returns the raw context.", - "parameters": [ - { - "name": "depth", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/raw_context" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/sapling/{sapling_state_id}/get_diff": { - "get": { - "description": "Returns the root and a diff of a state starting from an optional offset which is zero by default.", - "parameters": [ - { - "name": "sapling_state_id", - "in": "path", - "description": "A sapling state identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "offset_commitment", - "in": "query", - "description": "Commitments and ciphertexts are returned from the specified offset up to the most recent.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "offset_nullifier", - "in": "query", - "description": "Nullifiers are returned from the specified offset up to the most recent.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "root": { - "$ref": "#/components/schemas/sapling.transaction.commitment_hash" - }, - "commitments_and_ciphertexts": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/sapling.transaction.commitment" - }, - { - "$ref": "#/components/schemas/sapling.transaction.ciphertext" - } - ] - } - } - }, - "nullifiers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/sapling.transaction.nullifier" - } - } - }, - "required": [ - "root", - "commitments_and_ciphertexts", - "nullifiers" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/seed": { - "post": { - "description": "Seed of the cycle to which the block belongs.", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {} - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/seed_computation": { - "get": { - "description": "Seed computation status", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "title": "Nonce revelation stage", - "type": "object", - "properties": { - "nonce_revelation_stage": {} - }, - "required": [ - "nonce_revelation_stage" - ] - }, - { - "title": "VDF revelation stage", - "type": "object", - "properties": { - "seed_discriminant": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "seed_challenge": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "seed_discriminant", - "seed_challenge" - ] - }, - { - "title": "Computation finished", - "type": "object", - "properties": { - "computation_finished": {} - }, - "required": [ - "computation_finished" - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/all": { - "get": { - "description": "List of all originated smart rollups", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/smart_rollup_address" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/all/inbox": { - "get": { - "description": "Inbox for the smart rollups", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "old_levels_messages": { - "type": "object", - "properties": { - "index": { - "$ref": "#/components/schemas/positive_bignum" - }, - "content": { - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/smart_rollup_merkelized_payload_hashes_hash" - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - } - }, - "required": [ - "hash", - "level" - ] - }, - "back_pointers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/smart_rollup_inbox_hash" - } - } - }, - "required": [ - "index", - "content", - "back_pointers" - ] - } - }, - "required": [ - "level", - "old_levels_messages" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/commitment/{smart_rollup_commitment_hash}": { - "get": { - "description": "Commitment for a smart rollup from its hash", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "smart_rollup_commitment_hash", - "in": "path", - "description": "smart_rollup_commitment_hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "compressed_state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "predecessor": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "number_of_ticks": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "compressed_state", - "inbox_level", - "predecessor", - "number_of_ticks" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/commitment/{smart_rollup_commitment_hash}/can_be_cemented": { - "get": { - "description": "Returns true if and only if the provided commitment can be cemented.", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "smart_rollup_commitment_hash", - "in": "path", - "description": "smart_rollup_commitment_hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "boolean" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/commitment/{smart_rollup_commitment_hash}/stakers_indexes": { - "get": { - "description": "List of stakers indexes staking on a given commitment", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "smart_rollup_commitment_hash", - "in": "path", - "description": "smart_rollup_commitment_hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/consumed_outputs/{block_level}": { - "get": { - "description": "Return the known consumed outputs of a smart rollup.", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "block_level", - "in": "path", - "description": "A level integer", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/genesis_info": { - "get": { - "description": "Genesis information (level and commitment hash) for a smart rollup", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - } - }, - "required": [ - "level", - "commitment_hash" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/inbox_level/{block_level}/commitments": { - "get": { - "description": "List of commitments associated to a rollup for a given inbox level", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "block_level", - "in": "path", - "description": "A level integer", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "array", - "items": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - } - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/kind": { - "get": { - "description": "Kind of smart rollup", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "string", - "enum": [ - "wasm_2_0_0", - "arith", - "riscv" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/last_cemented_commitment_hash_with_level": { - "get": { - "description": "Level and hash of the last cemented commitment for a smart rollup", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - } - }, - "required": [ - "hash", - "level" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/last_whitelist_update": { - "get": { - "description": "Last whitelist update for private smart rollups. If the output is None then the rollup is public.", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "object", - "properties": { - "message_index": { - "$ref": "#/components/schemas/positive_bignum" - }, - "outbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - } - }, - "required": [ - "message_index", - "outbox_level" - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/staker/{pkh}/conflicts": { - "get": { - "description": "List of stakers in conflict with the given staker", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "other": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "their_commitment": { - "type": "object", - "properties": { - "compressed_state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "predecessor": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "number_of_ticks": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "compressed_state", - "inbox_level", - "predecessor", - "number_of_ticks" - ] - }, - "our_commitment": { - "type": "object", - "properties": { - "compressed_state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "predecessor": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "number_of_ticks": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "compressed_state", - "inbox_level", - "predecessor", - "number_of_ticks" - ] - }, - "parent_commitment": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - } - }, - "required": [ - "other", - "their_commitment", - "our_commitment", - "parent_commitment" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/staker/{pkh}/games": { - "get": { - "description": "Ongoing refutation games for a given staker", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "game": { - "type": "object", - "properties": { - "turn": { - "oneOf": [ - { - "title": "Alice", - "type": "string", - "enum": [ - "alice" - ] - }, - { - "title": "Bob", - "type": "string", - "enum": [ - "bob" - ] - } - ] - }, - "inbox_snapshot": { - "type": "object", - "properties": { - "index": { - "$ref": "#/components/schemas/positive_bignum" - }, - "content": { - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/smart_rollup_merkelized_payload_hashes_hash" - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - } - }, - "required": [ - "hash", - "level" - ] - }, - "back_pointers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/smart_rollup_inbox_hash" - } - } - }, - "required": [ - "index", - "content", - "back_pointers" - ] - }, - "dal_snapshot": { - "oneOf": [ - { - "title": "dal_skip_list_legacy", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "dal_skip_list_legacy" - ] - }, - "skip_list": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "skip_list" - ] - }, - { - "title": "dal_skip_list", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "dal_skip_list" - ] - }, - "skip_list": { - "type": "object", - "properties": { - "index": { - "$ref": "#/components/schemas/positive_bignum" - }, - "content": { - "oneOf": [ - { - "title": "unattested", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "unattested" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - } - }, - "required": [ - "kind", - "level", - "index" - ] - }, - { - "title": "attested", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attested" - ] - }, - "version": { - "type": "string", - "enum": [ - "0" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "commitment": { - "$ref": "#/components/schemas/DAL_commitment" - } - }, - "required": [ - "kind", - "version", - "level", - "index", - "commitment" - ] - } - ] - }, - "back_pointers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/dal_skip_list_pointer" - } - } - }, - "required": [ - "index", - "content", - "back_pointers" - ] - } - }, - "required": [ - "kind", - "skip_list" - ] - } - ] - }, - "start_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "game_state": { - "oneOf": [ - { - "title": "Dissecting", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Dissecting" - ] - }, - "dissection": { - "type": "array", - "items": { - "type": "object", - "properties": { - "state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "tick": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "tick" - ] - } - }, - "default_number_of_sections": { - "type": "integer", - "minimum": 0, - "maximum": 255 - } - }, - "required": [ - "kind", - "dissection", - "default_number_of_sections" - ] - }, - { - "title": "Final_move", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Final_move" - ] - }, - "agreed_start_chunk": { - "type": "object", - "properties": { - "state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "tick": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "tick" - ] - }, - "refuted_stop_chunk": { - "type": "object", - "properties": { - "state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "tick": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "tick" - ] - } - }, - "required": [ - "kind", - "agreed_start_chunk", - "refuted_stop_chunk" - ] - } - ] - } - }, - "required": [ - "turn", - "inbox_snapshot", - "dal_snapshot", - "start_level", - "inbox_level", - "game_state" - ] - }, - "alice": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "bob": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "game", - "alice", - "bob" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/staker/{pkh}/index": { - "get": { - "description": "Staker index associated to a public key hash for a given rollup", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "Positive big number", - "description": "Decimal representation of a positive big number", - "type": "string" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/staker/{pkh}/staked_on_commitment": { - "get": { - "description": "The newest commitment on which the operator has staked on for a smart rollup. Note that is can return a commitment that is before the last cemented one.", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "compressed_state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "predecessor": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "number_of_ticks": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "hash", - "compressed_state", - "inbox_level", - "predecessor", - "number_of_ticks" - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/staker1/{staker1_pkh}/staker2/{staker2_pkh}/timeout": { - "get": { - "description": "Returns the timeout of players.", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "staker1_pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "staker2_pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "object", - "properties": { - "alice": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "bob": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "last_turn_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - } - }, - "required": [ - "alice", - "bob", - "last_turn_level" - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/staker1/{staker1_pkh}/staker2/{staker2_pkh}/timeout_reached": { - "get": { - "description": "Returns whether the timeout creates a result for the game.", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "staker1_pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "staker2_pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "title": "Loser", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "loser" - ] - }, - "reason": { - "oneOf": [ - { - "title": "Conflict_resolved", - "type": "string", - "enum": [ - "conflict_resolved" - ] - }, - { - "title": "Timeout", - "type": "string", - "enum": [ - "timeout" - ] - } - ] - }, - "player": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "reason", - "player" - ] - }, - { - "title": "Draw", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "draw" - ] - } - }, - "required": [ - "kind" - ] - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/stakers": { - "get": { - "description": "List of active stakers' public key hashes of a rollup", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/ticket_balance": { - "post": { - "description": "Access the smart rollup's balance of ticket with specified ticketer, content type, and content.", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "Positive big number", - "description": "Decimal representation of a positive big number", - "type": "string" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/smart_rollups/smart_rollup/{smart_rollup_address}/whitelist": { - "get": { - "description": "Whitelist for private smart rollups. If the output is None then the rollup is public.", - "parameters": [ - { - "name": "smart_rollup_address", - "in": "path", - "description": "smart_rollup_address (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "array", - "items": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/total_currently_staked": { - "get": { - "description": "Returns the amount of staked tez by delegates, delegators or overstaked.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "delegates": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "delegators": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "overstaked": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "delegates", - "delegators", - "overstaked" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/total_frozen_stake": { - "get": { - "description": "Returns the total stake (in mutez) frozen on the chain", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/context/total_supply": { - "get": { - "description": "Returns the total supply (in mutez) available on the chain", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/positive_bignum" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/hash": { - "get": { - "description": "The block's hash, its unique identifier.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "A block identifier (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/header": { - "get": { - "description": "The whole block header.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "Shell header", - "description": "Block header's shell-related content. It contains information such as the block level, its predecessor and timestamp.", - "type": "object", - "properties": { - "protocol": { - "type": "string", - "enum": [ - "ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im" - ] - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "hash": { - "$ref": "#/components/schemas/block_hash" - }, - "level": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proto": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "predecessor": { - "$ref": "#/components/schemas/block_hash" - }, - "timestamp": { - "$ref": "#/components/schemas/timestamp.protocol" - }, - "validation_pass": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "operations_hash": { - "$ref": "#/components/schemas/Operation_list_list_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "context": { - "$ref": "#/components/schemas/Context_hash" - }, - "content": { - "oneOf": [ - { - "title": "Activate", - "type": "object", - "properties": { - "command": { - "type": "string", - "enum": [ - "activate" - ] - }, - "hash": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "protocol_parameters": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "command", - "hash", - "fitness", - "protocol_parameters" - ] - }, - { - "title": "Activate_testchain", - "type": "object", - "properties": { - "command": { - "type": "string", - "enum": [ - "activate_testchain" - ] - }, - "hash": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "protocol_parameters": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "validity_time": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "command", - "hash", - "fitness", - "protocol_parameters", - "validity_time" - ] - } - ] - }, - "signature": { - "$ref": "#/components/schemas/Signature.V0" - } - }, - "required": [ - "protocol", - "chain_id", - "hash", - "level", - "proto", - "predecessor", - "timestamp", - "validation_pass", - "operations_hash", - "fitness", - "context", - "content", - "signature" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/header/protocol_data": { - "get": { - "description": "The version-specific fragment of the block header.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "protocol": { - "type": "string", - "enum": [ - "ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im" - ] - }, - "content": { - "oneOf": [ - { - "title": "Activate", - "type": "object", - "properties": { - "command": { - "type": "string", - "enum": [ - "activate" - ] - }, - "hash": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "protocol_parameters": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "command", - "hash", - "fitness", - "protocol_parameters" - ] - }, - { - "title": "Activate_testchain", - "type": "object", - "properties": { - "command": { - "type": "string", - "enum": [ - "activate_testchain" - ] - }, - "hash": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "protocol_parameters": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "validity_time": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "command", - "hash", - "fitness", - "protocol_parameters", - "validity_time" - ] - } - ] - }, - "signature": { - "$ref": "#/components/schemas/Signature.V0" - } - }, - "required": [ - "protocol", - "content", - "signature" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/header/protocol_data/raw": { - "get": { - "description": "The version-specific fragment of the block header (unparsed).", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/header/raw": { - "get": { - "description": "The whole block header (unparsed).", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/header/shell": { - "get": { - "description": "The shell-specific fragment of the block header.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "Shell header", - "description": "Block header's shell-related content. It contains information such as the block level, its predecessor and timestamp.", - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proto": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "predecessor": { - "$ref": "#/components/schemas/block_hash" - }, - "timestamp": { - "$ref": "#/components/schemas/timestamp.protocol" - }, - "validation_pass": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "operations_hash": { - "$ref": "#/components/schemas/Operation_list_list_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "context": { - "$ref": "#/components/schemas/Context_hash" - } - }, - "required": [ - "level", - "proto", - "predecessor", - "timestamp", - "validation_pass", - "operations_hash", - "fitness", - "context" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/attestation_rights": { - "get": { - "description": "Retrieves the delegates allowed to attest a block.\nBy default, it gives the attestation power for delegates that have at least one attestation slot for the next block.\nParameters `level` and `cycle` can be used to specify the (valid) level(s) in the past or future at which the attestation rights have to be returned. Parameter `delegate` can be used to restrict the results to the given delegates.\nParameter `consensus_key` can be used to restrict the results to the given consensus_keys. \nReturns the smallest attestation slots and the attestation power. Also returns the minimal timestamp that corresponds to attestation at the given level. The timestamps are omitted for levels in the past, and are only estimates for levels higher that the next block's, based on the hypothesis that all predecessor blocks were baked at the first round.", - "parameters": [ - { - "name": "level", - "in": "query", - "description": "A level integer", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "cycle", - "in": "query", - "description": "A cycle integer", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "delegate", - "in": "query", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "consensus_key", - "in": "query", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "delegates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "first_slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "attestation_power": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "consensus_key": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "delegate", - "first_slot", - "attestation_power", - "consensus_key" - ] - } - }, - "estimated_time": { - "$ref": "#/components/schemas/timestamp.protocol" - } - }, - "required": [ - "level", - "delegates" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/baking_rights": { - "get": { - "description": "Retrieves the list of delegates allowed to bake a block.\nBy default, it gives the best baking opportunities (in terms of rounds) for bakers that have at least one opportunity below the 64th round for the next block.\nParameters `level` and `cycle` can be used to specify the (valid) level(s) in the past or future at which the baking rights have to be returned.\nParameter `delegate` can be used to restrict the results to the given delegates. Parameter `consensus_key` can be used to restrict the results to the given consensus_keys. If parameter `all` is set, all the baking opportunities for each baker at each level are returned, instead of just the first one.\nReturns the list of baking opportunities up to round 64. Also returns the minimal timestamps that correspond to these opportunities. The timestamps are omitted for levels in the past, and are only estimates for levels higher that the next block's, based on the hypothesis that all predecessor blocks were baked at the first round.", - "parameters": [ - { - "name": "level", - "in": "query", - "description": "A level integer", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "cycle", - "in": "query", - "description": "A cycle integer", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "delegate", - "in": "query", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "consensus_key", - "in": "query", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "max_round", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "all", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "estimated_time": { - "$ref": "#/components/schemas/timestamp.protocol" - }, - "consensus_key": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "level", - "delegate", - "round", - "consensus_key" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/complete/{prefix}": { - "get": { - "description": "Try to complete a prefix of a Base58Check-encoded data. This RPC is actually able to complete hashes of block, operations, public_keys and contracts.", - "parameters": [ - { - "name": "prefix", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/unistring" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/current_level": { - "get": { - "description": "Returns the level of the interrogated block, or the one of a block located `offset` blocks after it in the chain. For instance, the next block if `offset` is 1. The offset cannot be negative.", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "level": { - "description": "The level of the block relative to genesis. This is also the Shell's notion of level.", - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "level_position": { - "description": "The level of the block relative to the successor of the genesis block. More precisely, it is the position of the block relative to the block that starts the \"Alpha family\" of protocols, which includes all protocols except Genesis (that is, from 001 onwards).", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "cycle": { - "description": "The current cycle's number. Note that cycles are a protocol-specific notion. As a result, the cycle number starts at 0 with the first block of the Alpha family of protocols.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "cycle_position": { - "description": "The current level of the block relative to the first block of the current cycle.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "expected_commitment": { - "description": "Tells whether the baker of this block has to commit a seed nonce hash.", - "type": "boolean" - } - }, - "required": [ - "level", - "level_position", - "cycle", - "cycle_position", - "expected_commitment" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/forge/operations": { - "post": { - "description": "Forge an operation", - "requestBody": { - "content": { - "application/json": { - "schema": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - } - }, - "required": [ - "branch", - "contents" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/forge/protocol_data": { - "post": { - "description": "Forge the protocol-specific part of a block header", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "payload_round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "nonce_hash": { - "$ref": "#/components/schemas/cycle_nonce" - }, - "proof_of_work_nonce": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "per_block_votes": { - "$ref": "#/components/schemas/021-PsQuebec.per_block_votes" - } - }, - "required": [ - "payload_hash", - "payload_round" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "protocol_data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "protocol_data" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/forge_block_header": { - "post": { - "description": "Forge a block header", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "Block header", - "description": "Block header. It contains both shell and protocol specific data.", - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proto": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "predecessor": { - "$ref": "#/components/schemas/block_hash" - }, - "timestamp": { - "$ref": "#/components/schemas/timestamp.protocol" - }, - "validation_pass": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "operations_hash": { - "$ref": "#/components/schemas/Operation_list_list_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "context": { - "$ref": "#/components/schemas/Context_hash" - }, - "protocol_data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "level", - "proto", - "predecessor", - "timestamp", - "validation_pass", - "operations_hash", - "fitness", - "context", - "protocol_data" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "block": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "block" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/levels_in_current_cycle": { - "get": { - "description": "Levels of a cycle", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "first": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "last": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - } - }, - "required": [ - "first", - "last" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/parse/block": { - "post": { - "description": "Parse a block", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "Block header", - "description": "Block header. It contains both shell and protocol specific data.", - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proto": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "predecessor": { - "$ref": "#/components/schemas/block_hash" - }, - "timestamp": { - "$ref": "#/components/schemas/timestamp.protocol" - }, - "validation_pass": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "operations_hash": { - "$ref": "#/components/schemas/Operation_list_list_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "context": { - "$ref": "#/components/schemas/Context_hash" - }, - "protocol_data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "level", - "proto", - "predecessor", - "timestamp", - "validation_pass", - "operations_hash", - "fitness", - "context", - "protocol_data" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "payload_round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proof_of_work_nonce": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "seed_nonce_hash": { - "$ref": "#/components/schemas/cycle_nonce" - }, - "liquidity_baking_toggle_vote": { - "$ref": "#/components/schemas/021-PsQuebec.liquidity_baking_vote" - }, - "adaptive_issuance_vote": { - "$ref": "#/components/schemas/021-PsQuebec.adaptive_issuance_vote" - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "payload_hash", - "payload_round", - "proof_of_work_nonce", - "liquidity_baking_toggle_vote", - "adaptive_issuance_vote", - "signature" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/parse/operations": { - "post": { - "description": "Parse operations", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "Supported RPC version is version '1'", - "required": false, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "operations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/operation" - } - }, - "check_signature": { - "type": "boolean" - } - }, - "required": [ - "operations" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "branch", - "contents" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/preapply/block": { - "post": { - "description": "Simulate the validation of a block that would contain the given operations and return the resulting fitness and context hash.", - "parameters": [ - { - "name": "sort", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "timestamp", - "in": "query", - "description": "A date in seconds from epoch", - "required": false, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "protocol_data": { - "type": "object", - "properties": { - "protocol": { - "type": "string", - "enum": [ - "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg" - ] - }, - "payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "payload_round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proof_of_work_nonce": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "seed_nonce_hash": { - "$ref": "#/components/schemas/cycle_nonce" - }, - "liquidity_baking_toggle_vote": { - "$ref": "#/components/schemas/021-PsQuebec.liquidity_baking_vote" - }, - "adaptive_issuance_vote": { - "$ref": "#/components/schemas/021-PsQuebec.adaptive_issuance_vote" - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "protocol", - "payload_hash", - "payload_round", - "proof_of_work_nonce", - "liquidity_baking_toggle_vote", - "adaptive_issuance_vote", - "signature" - ] - }, - "operations": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/next_operation" - } - } - } - }, - "required": [ - "protocol_data", - "operations" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "shell_header": { - "$ref": "#/components/schemas/block_header.shell" - }, - "operations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "applied": { - "type": "array", - "items": { - "description": "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.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "hash", - "branch", - "data" - ] - } - }, - "refused": { - "type": "array", - "items": { - "description": "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.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "error": { - "$ref": "#/components/schemas/error" - } - }, - "required": [ - "hash", - "branch", - "data", - "error" - ] - } - }, - "outdated": { - "type": "array", - "items": { - "description": "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.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "error": { - "$ref": "#/components/schemas/error" - } - }, - "required": [ - "hash", - "branch", - "data", - "error" - ] - } - }, - "branch_refused": { - "type": "array", - "items": { - "description": "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.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "error": { - "$ref": "#/components/schemas/error" - } - }, - "required": [ - "hash", - "branch", - "data", - "error" - ] - } - }, - "branch_delayed": { - "type": "array", - "items": { - "description": "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.", - "type": "object", - "properties": { - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "error": { - "$ref": "#/components/schemas/error" - } - }, - "required": [ - "hash", - "branch", - "data", - "error" - ] - } - } - }, - "required": [ - "applied", - "refused", - "outdated", - "branch_refused", - "branch_delayed" - ] - } - } - }, - "required": [ - "shell_header", - "operations" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/preapply/operations": { - "post": { - "description": "Simulate the application of the operations with the context of the given block and return the result of each operation application.", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "Supported RPC versions are version \"1\" (default)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/next_operation" - } - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_with_metadata" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/round": { - "get": { - "description": "Returns the round of the interrogated block, or the one of a block located `offset` blocks after in the chain (or before when negative). For instance, the next block if `offset` is 1.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/entrypoint": { - "post": { - "description": "Return the type of the given entrypoint", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "script": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "entrypoint": { - "$ref": "#/components/schemas/unistring" - } - }, - "required": [ - "script" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "entrypoint_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "entrypoint_type" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/entrypoints": { - "post": { - "description": "Return the list of entrypoints of the given script", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "script": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "script" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "unreachable": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.michelson.v1.primitives" - } - } - }, - "required": [ - "path" - ] - } - }, - "entrypoints": { - "type": "object", - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - } - }, - "required": [ - "entrypoints" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/normalize_data": { - "post": { - "description": "Normalizes some data expression using the requested unparsing mode", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - }, - "legacy": { - "type": "boolean" - }, - "other_contracts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/Contract_hash" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "address", - "type" - ] - } - }, - "extra_big_maps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/021-PsQuebec.big_map_id" - }, - "key_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "map_literal": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "id", - "key_type", - "val_type", - "map_literal" - ] - } - } - }, - "required": [ - "data", - "type", - "unparsing_mode" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "normalized": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "normalized" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/normalize_script": { - "post": { - "description": "Normalizes a Michelson script using the requested unparsing mode", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "script": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - } - }, - "required": [ - "script", - "unparsing_mode" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "normalized": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "normalized" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/normalize_stack": { - "post": { - "description": "Normalize a Michelson stack using the requested unparsing mode", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "input": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "type", - "val" - ] - } - }, - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - }, - "legacy": { - "type": "boolean" - }, - "other_contracts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/Contract_hash" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "address", - "type" - ] - } - }, - "extra_big_maps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/021-PsQuebec.big_map_id" - }, - "key_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "map_literal": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "id", - "key_type", - "val_type", - "map_literal" - ] - } - } - }, - "required": [ - "input", - "unparsing_mode" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "output": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "type", - "val" - ] - } - } - }, - "required": [ - "output" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/normalize_type": { - "post": { - "description": "Normalizes some Michelson type by expanding `pair a b c` as `pair a (pair b c)", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "type" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "normalized": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "normalized" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/pack_data": { - "post": { - "description": "Computes the serialized version of some data expression using the same algorithm as script instruction PACK", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "gas": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "data", - "type" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "packed": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "gas": { - "oneOf": [ - { - "title": "Limited", - "oneOf": [ - { - "$ref": "#/components/schemas/bignum" - } - ] - }, - { - "title": "Unaccounted", - "type": "string", - "enum": [ - "unaccounted" - ] - } - ] - } - }, - "required": [ - "packed", - "gas" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/run_code": { - "post": { - "description": "Run a Michelson script in the current context", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "script": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "storage": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "input": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "balance": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "payer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.implicit" - }, - "self": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - }, - "entrypoint": { - "$ref": "#/components/schemas/unistring" - }, - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - }, - "gas": { - "$ref": "#/components/schemas/bignum" - }, - "now": { - "$ref": "#/components/schemas/bignum" - }, - "level": { - "$ref": "#/components/schemas/positive_bignum" - }, - "other_contracts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/Contract_hash" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "address", - "type" - ] - } - }, - "extra_big_maps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/021-PsQuebec.big_map_id" - }, - "key_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "map_literal": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "id", - "key_type", - "val_type", - "map_literal" - ] - } - } - }, - "required": [ - "script", - "storage", - "input", - "amount", - "chain_id" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "storage": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "operations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "storage", - "operations" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/run_instruction": { - "post": { - "description": "Run a single Michelson instruction", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "input": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "type", - "val" - ] - } - }, - "code": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "gas": { - "$ref": "#/components/schemas/bignum" - }, - "now": { - "$ref": "#/components/schemas/bignum" - }, - "level": { - "$ref": "#/components/schemas/positive_bignum" - }, - "sender": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.implicit" - }, - "self": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - }, - "parameter": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "balance": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "other_contracts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/Contract_hash" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "address", - "type" - ] - } - }, - "big_maps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/021-PsQuebec.big_map_id" - }, - "key_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "map_literal": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "id", - "key_type", - "val_type", - "map_literal" - ] - } - }, - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - }, - "legacy": { - "type": "boolean" - } - }, - "required": [ - "input", - "code", - "chain_id", - "amount" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "output": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "type", - "val" - ] - } - }, - "gas": { - "oneOf": [ - { - "title": "Limited", - "oneOf": [ - { - "$ref": "#/components/schemas/bignum" - } - ] - }, - { - "title": "Unaccounted", - "type": "string", - "enum": [ - "unaccounted" - ] - } - ] - } - }, - "required": [ - "output", - "gas" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/run_operation": { - "post": { - "description": "Run an operation with the context of the given block and without signature checks. Return the operation application result, including the consumed gas. This RPC does not support consensus operations.", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "Supported RPC version is version '1'", - "required": false, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "operation": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "branch", - "contents" - ] - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - } - }, - "required": [ - "operation", - "chain_id" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "title": "Operation_with_metadata", - "type": "object", - "properties": { - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_contents_and_result" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "contents" - ] - }, - { - "title": "Operation_without_metadata", - "type": "object", - "properties": { - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "contents" - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/run_script_view": { - "post": { - "description": "Simulate a call to a michelson view", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "contract": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - }, - "view": { - "$ref": "#/components/schemas/unistring" - }, - "input": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "unlimited_gas": { - "type": "boolean" - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "payer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.implicit" - }, - "gas": { - "$ref": "#/components/schemas/bignum" - }, - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - }, - "now": { - "$ref": "#/components/schemas/bignum" - }, - "level": { - "$ref": "#/components/schemas/positive_bignum" - }, - "other_contracts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/Contract_hash" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "address", - "type" - ] - } - }, - "extra_big_maps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/021-PsQuebec.big_map_id" - }, - "key_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "map_literal": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "id", - "key_type", - "val_type", - "map_literal" - ] - } - } - }, - "required": [ - "contract", - "view", - "input", - "chain_id", - "unparsing_mode" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "data" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/run_view": { - "post": { - "description": "Simulate a call to a view following the TZIP-4 standard. See https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-4/tzip-4.md#view-entrypoints.", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "contract": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - }, - "entrypoint": { - "$ref": "#/components/schemas/unistring" - }, - "input": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "payer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.implicit" - }, - "gas": { - "$ref": "#/components/schemas/bignum" - }, - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - }, - "now": { - "$ref": "#/components/schemas/bignum" - }, - "level": { - "$ref": "#/components/schemas/positive_bignum" - }, - "other_contracts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/Contract_hash" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "address", - "type" - ] - } - }, - "extra_big_maps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/021-PsQuebec.big_map_id" - }, - "key_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "map_literal": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "id", - "key_type", - "val_type", - "map_literal" - ] - } - } - }, - "required": [ - "contract", - "entrypoint", - "input", - "chain_id", - "unparsing_mode" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "data" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/script_size": { - "post": { - "description": "Compute the size of a script in the current context", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "program": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "storage": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "gas": { - "$ref": "#/components/schemas/bignum" - }, - "legacy": { - "type": "boolean" - } - }, - "required": [ - "program", - "storage" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "script_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - }, - "required": [ - "script_size" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/simulate_operation": { - "post": { - "description": "Simulate running an operation at some future moment (based on the number of blocks given in the `latency` argument), and return the operation application result. The result is the same as run_operation except for the consumed gas, which depends on the contents of the cache at that future moment. This RPC estimates future gas consumption by trying to predict the state of the cache using some heuristics.", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "Supported RPC version is version '1'", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "successor_level", - "in": "query", - "description": "If true, the simulation is done on the successor level of the current context.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "blocks_before_activation": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "operation": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "branch", - "contents" - ] - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "latency": { - "type": "integer", - "minimum": -32768, - "maximum": 32767 - } - }, - "required": [ - "operation", - "chain_id" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "title": "Operation_with_metadata", - "type": "object", - "properties": { - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_contents_and_result" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "contents" - ] - }, - { - "title": "Operation_without_metadata", - "type": "object", - "properties": { - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "contents" - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/trace_code": { - "post": { - "description": "Run a Michelson script in the current context, keeping a trace", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "script": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "storage": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "input": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "balance": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "payer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.implicit" - }, - "self": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - }, - "entrypoint": { - "$ref": "#/components/schemas/unistring" - }, - "unparsing_mode": { - "oneOf": [ - { - "title": "Readable", - "type": "string", - "enum": [ - "Readable" - ] - }, - { - "title": "Optimized", - "type": "string", - "enum": [ - "Optimized" - ] - }, - { - "title": "Optimized_legacy", - "type": "string", - "enum": [ - "Optimized_legacy" - ] - } - ] - }, - "gas": { - "$ref": "#/components/schemas/bignum" - }, - "now": { - "$ref": "#/components/schemas/bignum" - }, - "level": { - "$ref": "#/components/schemas/positive_bignum" - }, - "other_contracts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/Contract_hash" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "address", - "type" - ] - } - }, - "extra_big_maps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/021-PsQuebec.big_map_id" - }, - "key_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "val_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "map_literal": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "id", - "key_type", - "val_type", - "map_literal" - ] - } - } - }, - "required": [ - "script", - "storage", - "input", - "amount", - "chain_id" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "storage": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "operations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - }, - "trace": { - "$ref": "#/components/schemas/021-PsQuebec.scripted.trace" - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "storage", - "operations", - "trace" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/typecheck_code": { - "post": { - "description": "Typecheck a piece of code in the current context", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "program": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "gas": { - "$ref": "#/components/schemas/bignum" - }, - "legacy": { - "type": "boolean" - }, - "show_types": { - "type": "boolean" - } - }, - "required": [ - "program" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "type_map": { - "type": "array", - "items": { - "type": "object", - "properties": { - "location": { - "$ref": "#/components/schemas/micheline.location" - }, - "stack_before": { - "type": "array", - "items": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "stack_after": { - "type": "array", - "items": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - } - }, - "required": [ - "location", - "stack_before", - "stack_after" - ] - } - }, - "gas": { - "oneOf": [ - { - "title": "Limited", - "oneOf": [ - { - "$ref": "#/components/schemas/bignum" - } - ] - }, - { - "title": "Unaccounted", - "type": "string", - "enum": [ - "unaccounted" - ] - } - ] - } - }, - "required": [ - "type_map", - "gas" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/scripts/typecheck_data": { - "post": { - "description": "Check that some data expression is well formed and of a given type in the current context", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "gas": { - "$ref": "#/components/schemas/bignum" - }, - "legacy": { - "type": "boolean" - } - }, - "required": [ - "data", - "type" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "gas": { - "oneOf": [ - { - "title": "Limited", - "oneOf": [ - { - "$ref": "#/components/schemas/bignum" - } - ] - }, - { - "title": "Unaccounted", - "type": "string", - "enum": [ - "unaccounted" - ] - } - ] - } - }, - "required": [ - "gas" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/helpers/validators": { - "get": { - "description": "Retrieves the level, the attestation slots and the public key hash of each delegate allowed to attest a block.\nBy default, it provides this information for the next level.\nParameter `level` can be used to specify the (valid) level(s) in the past or future at which the attestation rights have to be returned. Parameter `delegate` can be used to restrict the results results to the given delegates. Parameter `consensus_key` can be used to restrict the results to the given consensus_keys.\n", - "parameters": [ - { - "name": "level", - "in": "query", - "description": "A level integer", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "delegate", - "in": "query", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "consensus_key", - "in": "query", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "slots": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - } - }, - "consensus_key": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "level", - "delegate", - "slots", - "consensus_key" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/live_blocks": { - "get": { - "description": "List the ancestors of the given block which, if referred to as the branch in an operation header, are recent enough for that operation to be included in the current block.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/block_hash" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/metadata": { - "get": { - "description": "All the metadata associated to the block.", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "Supported RPC versions are version \"1\" (default)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/block_header_metadata" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/metadata_hash": { - "get": { - "description": "Hash of the metadata associated to the block. This is only set on blocks starting from environment V1.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "A Tezos block metadata ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operation_hashes": { - "get": { - "description": "The hashes of all the operations included in the block.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Operation_hash" - } - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operation_hashes/{list_offset}": { - "get": { - "description": "All the operations included in `n-th` validation pass of the block.", - "parameters": [ - { - "name": "list_offset", - "in": "path", - "description": "Index `n` of the requested validation pass.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Operation_hash" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operation_hashes/{list_offset}/{operation_offset}": { - "get": { - "description": "The hash of then `m-th` operation in the `n-th` validation pass of the block.", - "parameters": [ - { - "name": "list_offset", - "in": "path", - "description": "Index `n` of the requested validation pass.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "operation_offset", - "in": "path", - "description": "Index `m` of the requested operation in its validation pass.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "A Tezos operation ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operation_metadata_hashes": { - "get": { - "description": "The hashes of all the operation metadata included in the block. This is only set on blocks starting from environment V1.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Operation_metadata_hash" - } - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operation_metadata_hashes/{list_offset}": { - "get": { - "description": "All the operation metadata included in `n-th` validation pass of the block. This is only set on blocks starting from environment V1.", - "parameters": [ - { - "name": "list_offset", - "in": "path", - "description": "Index `n` of the requested validation pass.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Operation_metadata_hash" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operation_metadata_hashes/{list_offset}/{operation_offset}": { - "get": { - "description": "The hash of then `m-th` operation metadata in the `n-th` validation pass of the block. This is only set on blocks starting from environment V1.", - "parameters": [ - { - "name": "list_offset", - "in": "path", - "description": "Index `n` of the requested validation pass.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "operation_offset", - "in": "path", - "description": "Index `m` of the requested operation in its validation pass.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "A Tezos operation metadata ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operations": { - "get": { - "description": "All the operations included in the block.", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "Supported RPC versions are version \"1\" (default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force_metadata", - "in": "query", - "description": "DEPRECATED: Forces to recompute the operations metadata if it was considered as too large.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "metadata", - "in": "query", - "description": "defines the way metadata are queried Specifies whether or not if the operations metadata should be returned. To get the metadata, even if it is needed to recompute them, use \"always\". To avoid getting the metadata, use \"never\". By default, the metadata will be returned depending on the node's metadata size limit policy.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/operation" - } - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operations/{list_offset}": { - "get": { - "description": "All the operations included in `n-th` validation pass of the block.", - "parameters": [ - { - "name": "list_offset", - "in": "path", - "description": "Index `n` of the requested validation pass.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "Supported RPC versions are version \"1\" (default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force_metadata", - "in": "query", - "description": "DEPRECATED: Forces to recompute the operations metadata if it was considered as too large.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "metadata", - "in": "query", - "description": "defines the way metadata are queried Specifies whether or not if the operations metadata should be returned. To get the metadata, even if it is needed to recompute them, use \"always\". To avoid getting the metadata, use \"never\". By default, the metadata will be returned depending on the node's metadata size limit policy.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/operation" - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operations/{list_offset}/{operation_offset}": { - "get": { - "description": "The `m-th` operation in the `n-th` validation pass of the block.", - "parameters": [ - { - "name": "list_offset", - "in": "path", - "description": "Index `n` of the requested validation pass.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "operation_offset", - "in": "path", - "description": "Index `m` of the requested operation in its validation pass.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "Supported RPC versions are version \"1\" (default)", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force_metadata", - "in": "query", - "description": "DEPRECATED: Forces to recompute the operations metadata if it was considered as too large.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "metadata", - "in": "query", - "description": "defines the way metadata are queried Specifies whether or not if the operations metadata should be returned. To get the metadata, even if it is needed to recompute them, use \"always\". To avoid getting the metadata, use \"never\". By default, the metadata will be returned depending on the node's metadata size limit policy.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/operation" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/operations_metadata_hash": { - "get": { - "description": "The root hash of the operations metadata from the block. This is only set on blocks starting from environment V1.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "A list of list of operation metadata (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/protocols": { - "get": { - "description": "Current and next protocol.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "protocol": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "next_protocol": { - "$ref": "#/components/schemas/Protocol_hash" - } - }, - "required": [ - "protocol", - "next_protocol" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/resulting_context_hash": { - "get": { - "description": "Context hash resulting of the block application.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "A hash of context (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/ballot_list": { - "get": { - "description": "Ballots casted so far during a voting period.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "pkh": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "ballot": { - "type": "string", - "enum": [ - "nay", - "yay", - "pass" - ] - } - }, - "required": [ - "pkh", - "ballot" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/ballots": { - "get": { - "description": "Sum of ballots casted so far during a voting period.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "yay": { - "$ref": "#/components/schemas/int64" - }, - "nay": { - "$ref": "#/components/schemas/int64" - }, - "pass": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "yay", - "nay", - "pass" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/current_period": { - "get": { - "description": "Returns the voting period (index, kind, starting position) and related information (position, remaining) of the interrogated block.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "voting_period": { - "description": "The voting period to which the block belongs.", - "type": "object", - "properties": { - "index": { - "description": "The voting period's index. Starts at 0 with the first block of the Alpha family of protocols.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "kind": { - "description": "One of the several kinds of periods in the voting procedure.", - "oneOf": [ - { - "title": "Proposal", - "type": "string", - "enum": [ - "proposal" - ] - }, - { - "title": "exploration", - "type": "string", - "enum": [ - "exploration" - ] - }, - { - "title": "Cooldown", - "type": "string", - "enum": [ - "cooldown" - ] - }, - { - "title": "Promotion", - "type": "string", - "enum": [ - "promotion" - ] - }, - { - "title": "Adoption", - "type": "string", - "enum": [ - "adoption" - ] - } - ] - }, - "start_position": { - "description": "The relative position of the first level of the period with respect to the first level of the Alpha family of protocols.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - }, - "required": [ - "index", - "kind", - "start_position" - ] - }, - "position": { - "description": "The position of the block within the voting period.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "remaining": { - "description": "The number of blocks remaining till the end of the voting period.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - }, - "required": [ - "voting_period", - "position", - "remaining" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/current_proposal": { - "get": { - "description": "Current proposal under evaluation.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "oneOf": [ - { - "$ref": "#/components/schemas/Protocol_hash" - } - ] - } - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/current_quorum": { - "get": { - "description": "Current expected quorum.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/listings": { - "get": { - "description": "List of delegates with their voting power.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "pkh": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "voting_power": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "pkh", - "voting_power" - ] - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/proposal_count/{pkh}": { - "get": { - "description": "Number of votes casted during the current period.", - "parameters": [ - { - "name": "pkh", - "in": "path", - "description": "A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/proposals": { - "get": { - "description": "List of proposals with number of supporters.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/Protocol_hash" - }, - { - "$ref": "#/components/schemas/int64" - } - ] - } - } - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/successor_period": { - "get": { - "description": "Returns the voting period (index, kind, starting position) and related information (position, remaining) of the next block.Useful to craft operations that will be valid in the next block.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "voting_period": { - "description": "The voting period to which the block belongs.", - "type": "object", - "properties": { - "index": { - "description": "The voting period's index. Starts at 0 with the first block of the Alpha family of protocols.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "kind": { - "description": "One of the several kinds of periods in the voting procedure.", - "oneOf": [ - { - "title": "Proposal", - "type": "string", - "enum": [ - "proposal" - ] - }, - { - "title": "exploration", - "type": "string", - "enum": [ - "exploration" - ] - }, - { - "title": "Cooldown", - "type": "string", - "enum": [ - "cooldown" - ] - }, - { - "title": "Promotion", - "type": "string", - "enum": [ - "promotion" - ] - }, - { - "title": "Adoption", - "type": "string", - "enum": [ - "adoption" - ] - } - ] - }, - "start_position": { - "description": "The relative position of the first level of the period with respect to the first level of the Alpha family of protocols.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - }, - "required": [ - "index", - "kind", - "start_position" - ] - }, - "position": { - "description": "The position of the block within the voting period.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "remaining": { - "description": "The number of blocks remaining till the end of the voting period.", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - } - }, - "required": [ - "voting_period", - "position", - "remaining" - ] - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - }, - "/votes/total_voting_power": { - "get": { - "description": "Total voting power in the voting listings.", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "64 bit integers", - "description": "Decimal representation of 64 bit integers", - "type": "string" - } - } - } - }, - "default": { - "description": "", - "content": { - "application/json": { - "schema": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "021-PsQuebec.adaptive_issuance_vote": { - "oneOf": [ - { - "title": "per_block_vote_on", - "type": "string", - "enum": [ - "on" - ] - }, - { - "title": "per_block_vote_off", - "type": "string", - "enum": [ - "off" - ] - }, - { - "title": "per_block_vote_pass", - "type": "string", - "enum": [ - "pass" - ] - } - ] - }, - "021-PsQuebec.apply_internal_results.alpha.operation_result": { - "oneOf": [ - { - "title": "transaction", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "transaction" - ] - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "nonce": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "parameters": { - "type": "object", - "properties": { - "entrypoint": { - "$ref": "#/components/schemas/021-PsQuebec.entrypoint" - }, - "value": {} - }, - "required": [ - "entrypoint", - "value" - ] - }, - "result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.internal_operation_result.transaction" - } - }, - "required": [ - "kind", - "source", - "nonce", - "amount", - "destination", - "result" - ] - }, - { - "title": "origination", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "origination" - ] - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "nonce": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "balance": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "script": { - "$ref": "#/components/schemas/021-PsQuebec.scripted.contracts" - }, - "result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.internal_operation_result.origination" - } - }, - "required": [ - "kind", - "source", - "nonce", - "balance", - "script", - "result" - ] - }, - { - "title": "delegation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "delegation" - ] - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "nonce": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.internal_operation_result.delegation" - } - }, - "required": [ - "kind", - "source", - "nonce", - "result" - ] - }, - { - "title": "event", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "event" - ] - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "nonce": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "tag": { - "$ref": "#/components/schemas/021-PsQuebec.entrypoint" - }, - "payload": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.internal_operation_result.event" - } - }, - "required": [ - "kind", - "source", - "nonce", - "type", - "result" - ] - } - ] - }, - "021-PsQuebec.big_map_id": { - "title": "Big map identifier", - "description": "A big map identifier", - "oneOf": [ - { - "$ref": "#/components/schemas/bignum" - } - ] - }, - "021-PsQuebec.block_header.alpha.full_header": { - "title": "Shell header", - "description": "Block header's shell-related content. It contains information such as the block level, its predecessor and timestamp.", - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proto": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "predecessor": { - "$ref": "#/components/schemas/block_hash" - }, - "timestamp": { - "$ref": "#/components/schemas/timestamp.protocol" - }, - "validation_pass": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "operations_hash": { - "$ref": "#/components/schemas/Operation_list_list_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "context": { - "$ref": "#/components/schemas/Context_hash" - }, - "payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "payload_round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proof_of_work_nonce": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "seed_nonce_hash": { - "$ref": "#/components/schemas/cycle_nonce" - }, - "liquidity_baking_toggle_vote": { - "$ref": "#/components/schemas/021-PsQuebec.liquidity_baking_vote" - }, - "adaptive_issuance_vote": { - "$ref": "#/components/schemas/021-PsQuebec.adaptive_issuance_vote" - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "level", - "proto", - "predecessor", - "timestamp", - "validation_pass", - "operations_hash", - "fitness", - "context", - "payload_hash", - "payload_round", - "proof_of_work_nonce", - "liquidity_baking_toggle_vote", - "adaptive_issuance_vote", - "signature" - ] - }, - "021-PsQuebec.bond_id": { - "type": "object", - "properties": { - "smart_rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - } - }, - "required": [ - "smart_rollup" - ] - }, - "021-PsQuebec.contract_id": { - "title": "A contract handle", - "description": "A contract notation as given to an RPC or inside scripts. Can be a base58 implicit contract hash or a base58 originated contract hash.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "021-PsQuebec.contract_id.implicit": { - "title": "A contract handle -- implicit account", - "description": "A contract notation as given to an RPC or inside scripts. Can be a base58 implicit contract hash.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "021-PsQuebec.contract_id.originated": { - "title": "A contract handle -- originated account", - "description": "A contract notation as given to an RPC or inside scripts. Can be a base58 originated contract hash.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "021-PsQuebec.entrypoint": { - "title": "entrypoint", - "description": "Named entrypoint to a Michelson smart contract", - "oneOf": [ - { - "title": "default", - "type": "string", - "enum": [ - "default" - ] - }, - { - "title": "root", - "type": "string", - "enum": [ - "root" - ] - }, - { - "title": "do", - "type": "string", - "enum": [ - "do" - ] - }, - { - "title": "set_delegate", - "type": "string", - "enum": [ - "set_delegate" - ] - }, - { - "title": "remove_delegate", - "type": "string", - "enum": [ - "remove_delegate" - ] - }, - { - "title": "deposit", - "type": "string", - "enum": [ - "deposit" - ] - }, - { - "title": "stake", - "type": "string", - "enum": [ - "stake" - ] - }, - { - "title": "unstake", - "type": "string", - "enum": [ - "unstake" - ] - }, - { - "title": "finalize_unstake", - "type": "string", - "enum": [ - "finalize_unstake" - ] - }, - { - "title": "set_delegate_parameters", - "type": "string", - "enum": [ - "set_delegate_parameters" - ] - }, - { - "title": "named", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - ] - }, - "021-PsQuebec.error": { - "description": "The full list of RPC errors would be too long to include.\nIt is available at RPC `/errors` (GET).\nErrors specific to protocol Alpha have an id that starts with `proto.alpha`." - }, - "021-PsQuebec.frozen_staker": { - "title": "frozen_staker", - "description": "Abstract notion of staker used in operation receipts for frozen deposits, either a single staker or all the stakers delegating to some delegate.", - "oneOf": [ - { - "title": "Single", - "type": "object", - "properties": { - "contract": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "contract", - "delegate" - ] - }, - { - "title": "Shared", - "type": "object", - "properties": { - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "delegate" - ] - }, - { - "title": "Baker", - "type": "object", - "properties": { - "baker_own_stake": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "baker_own_stake" - ] - }, - { - "title": "Baker_edge", - "type": "object", - "properties": { - "baker_edge": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "baker_edge" - ] - } - ] - }, - "021-PsQuebec.inlined.attestation": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "operations": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.attestation_mempool.contents" - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "branch", - "operations" - ] - }, - "021-PsQuebec.inlined.attestation_mempool.contents": { - "oneOf": [ - { - "title": "Attestation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash" - ] - }, - { - "title": "Attestation_with_dal", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation_with_dal" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "dal_attestation": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash", - "dal_attestation" - ] - } - ] - }, - "021-PsQuebec.inlined.preattestation": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "operations": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.preattestation.contents" - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "branch", - "operations" - ] - }, - "021-PsQuebec.inlined.preattestation.contents": { - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "preattestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash" - ] - }, - "021-PsQuebec.lazy_storage_diff": { - "type": "array", - "items": { - "oneOf": [ - { - "title": "big_map", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "big_map" - ] - }, - "id": { - "$ref": "#/components/schemas/021-PsQuebec.big_map_id" - }, - "diff": { - "oneOf": [ - { - "title": "update", - "type": "object", - "properties": { - "action": { - "type": "string", - "enum": [ - "update" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key_hash": { - "$ref": "#/components/schemas/script_expr" - }, - "key": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "value": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "key_hash", - "key" - ] - } - } - }, - "required": [ - "action", - "updates" - ] - }, - { - "title": "remove", - "type": "object", - "properties": { - "action": { - "type": "string", - "enum": [ - "remove" - ] - } - }, - "required": [ - "action" - ] - }, - { - "title": "copy", - "type": "object", - "properties": { - "action": { - "type": "string", - "enum": [ - "copy" - ] - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.big_map_id" - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key_hash": { - "$ref": "#/components/schemas/script_expr" - }, - "key": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "value": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "key_hash", - "key" - ] - } - } - }, - "required": [ - "action", - "source", - "updates" - ] - }, - { - "title": "alloc", - "type": "object", - "properties": { - "action": { - "type": "string", - "enum": [ - "alloc" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key_hash": { - "$ref": "#/components/schemas/script_expr" - }, - "key": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "value": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "key_hash", - "key" - ] - } - }, - "key_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "value_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "action", - "updates", - "key_type", - "value_type" - ] - } - ] - } - }, - "required": [ - "kind", - "id", - "diff" - ] - }, - { - "title": "sapling_state", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "sapling_state" - ] - }, - "id": { - "$ref": "#/components/schemas/021-PsQuebec.sapling_state_id" - }, - "diff": { - "oneOf": [ - { - "title": "update", - "type": "object", - "properties": { - "action": { - "type": "string", - "enum": [ - "update" - ] - }, - "updates": { - "type": "object", - "properties": { - "commitments_and_ciphertexts": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/sapling.transaction.commitment" - }, - { - "$ref": "#/components/schemas/sapling.transaction.ciphertext" - } - ] - } - } - }, - "nullifiers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/sapling.transaction.nullifier" - } - } - }, - "required": [ - "commitments_and_ciphertexts", - "nullifiers" - ] - } - }, - "required": [ - "action", - "updates" - ] - }, - { - "title": "remove", - "type": "object", - "properties": { - "action": { - "type": "string", - "enum": [ - "remove" - ] - } - }, - "required": [ - "action" - ] - }, - { - "title": "copy", - "type": "object", - "properties": { - "action": { - "type": "string", - "enum": [ - "copy" - ] - }, - "source": { - "$ref": "#/components/schemas/021-PsQuebec.sapling_state_id" - }, - "updates": { - "type": "object", - "properties": { - "commitments_and_ciphertexts": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/sapling.transaction.commitment" - }, - { - "$ref": "#/components/schemas/sapling.transaction.ciphertext" - } - ] - } - } - }, - "nullifiers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/sapling.transaction.nullifier" - } - } - }, - "required": [ - "commitments_and_ciphertexts", - "nullifiers" - ] - } - }, - "required": [ - "action", - "source", - "updates" - ] - }, - { - "title": "alloc", - "type": "object", - "properties": { - "action": { - "type": "string", - "enum": [ - "alloc" - ] - }, - "updates": { - "type": "object", - "properties": { - "commitments_and_ciphertexts": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/sapling.transaction.commitment" - }, - { - "$ref": "#/components/schemas/sapling.transaction.ciphertext" - } - ] - } - } - }, - "nullifiers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/sapling.transaction.nullifier" - } - } - }, - "required": [ - "commitments_and_ciphertexts", - "nullifiers" - ] - }, - "memo_size": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - } - }, - "required": [ - "action", - "updates", - "memo_size" - ] - } - ] - } - }, - "required": [ - "kind", - "id", - "diff" - ] - } - ] - } - }, - "021-PsQuebec.liquidity_baking_vote": { - "oneOf": [ - { - "title": "per_block_vote_on", - "type": "string", - "enum": [ - "on" - ] - }, - { - "title": "per_block_vote_off", - "type": "string", - "enum": [ - "off" - ] - }, - { - "title": "per_block_vote_pass", - "type": "string", - "enum": [ - "pass" - ] - } - ] - }, - "021-PsQuebec.michelson.v1.primitives": { - "type": "string", - "enum": [ - "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" - ] - }, - "021-PsQuebec.mutez": { - "$ref": "#/components/schemas/positive_bignum" - }, - "021-PsQuebec.operation.alpha.contents": { - "oneOf": [ - { - "title": "Preattestation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "preattestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash" - ] - }, - { - "title": "Attestation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash" - ] - }, - { - "title": "Attestation_with_dal", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation_with_dal" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "dal_attestation": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash", - "dal_attestation" - ] - }, - { - "title": "Double_preattestation_evidence", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "double_preattestation_evidence" - ] - }, - "op1": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.preattestation" - }, - "op2": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.preattestation" - } - }, - "required": [ - "kind", - "op1", - "op2" - ] - }, - { - "title": "Double_attestation_evidence", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "double_attestation_evidence" - ] - }, - "op1": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.attestation" - }, - "op2": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.attestation" - } - }, - "required": [ - "kind", - "op1", - "op2" - ] - }, - { - "title": "Seed_nonce_revelation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "seed_nonce_revelation" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "nonce": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "level", - "nonce" - ] - }, - { - "title": "Vdf_revelation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "vdf_revelation" - ] - }, - "solution": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - ] - } - } - }, - "required": [ - "kind", - "solution" - ] - }, - { - "title": "Double_baking_evidence", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "double_baking_evidence" - ] - }, - "bh1": { - "$ref": "#/components/schemas/021-PsQuebec.block_header.alpha.full_header" - }, - "bh2": { - "$ref": "#/components/schemas/021-PsQuebec.block_header.alpha.full_header" - } - }, - "required": [ - "kind", - "bh1", - "bh2" - ] - }, - { - "title": "Activate_account", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "activate_account" - ] - }, - "pkh": { - "$ref": "#/components/schemas/Ed25519.Public_key_hash" - }, - "secret": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "pkh", - "secret" - ] - }, - { - "title": "Proposals", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "proposals" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "period": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proposals": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Protocol_hash" - } - } - }, - "required": [ - "kind", - "source", - "period", - "proposals" - ] - }, - { - "title": "Ballot", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "ballot" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "period": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proposal": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "ballot": { - "type": "string", - "enum": [ - "nay", - "yay", - "pass" - ] - } - }, - "required": [ - "kind", - "source", - "period", - "proposal", - "ballot" - ] - }, - { - "title": "Reveal", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "reveal" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "public_key": { - "$ref": "#/components/schemas/Signature.Public_key" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "public_key" - ] - }, - { - "title": "Transaction", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "transaction" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "parameters": { - "type": "object", - "properties": { - "entrypoint": { - "$ref": "#/components/schemas/021-PsQuebec.entrypoint" - }, - "value": {} - }, - "required": [ - "entrypoint", - "value" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "amount", - "destination" - ] - }, - { - "title": "Origination", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "origination" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "balance": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "script": { - "$ref": "#/components/schemas/021-PsQuebec.scripted.contracts" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "balance", - "script" - ] - }, - { - "title": "Delegation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "delegation" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit" - ] - }, - { - "title": "Set_deposits_limit", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "set_deposits_limit" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "limit": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit" - ] - }, - { - "title": "Increase_paid_storage", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "increase_paid_storage" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "amount", - "destination" - ] - }, - { - "title": "Update_consensus_key", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "update_consensus_key" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "pk": { - "$ref": "#/components/schemas/Signature.Public_key" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "pk" - ] - }, - { - "title": "Drain_delegate", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "drain_delegate" - ] - }, - "consensus_key": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "destination": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "consensus_key", - "delegate", - "destination" - ] - }, - { - "title": "Failing_noop", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "failing_noop" - ] - }, - "arbitrary": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "arbitrary" - ] - }, - { - "title": "Register_global_constant", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "register_global_constant" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "value": {} - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "value" - ] - }, - { - "title": "Transfer_ticket", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "transfer_ticket" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "ticket_contents": {}, - "ticket_ty": {}, - "ticket_ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "ticket_amount": { - "$ref": "#/components/schemas/positive_bignum" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "entrypoint": { - "$ref": "#/components/schemas/unistring" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "ticket_contents", - "ticket_ty", - "ticket_ticketer", - "ticket_amount", - "destination", - "entrypoint" - ] - }, - { - "title": "Dal_publish_commitment", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "dal_publish_commitment" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "slot_header": { - "type": "object", - "properties": { - "slot_index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "commitment": { - "$ref": "#/components/schemas/DAL_commitment" - }, - "commitment_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "slot_index", - "commitment", - "commitment_proof" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "slot_header" - ] - }, - { - "title": "Smart_rollup_originate", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_originate" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "pvm_kind": { - "type": "string", - "enum": [ - "wasm_2_0_0", - "arith", - "riscv" - ] - }, - "kernel": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "parameters_ty": {}, - "whitelist": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "pvm_kind", - "kernel", - "parameters_ty" - ] - }, - { - "title": "Smart_rollup_add_messages", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_add_messages" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "message": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "message" - ] - }, - { - "title": "Smart_rollup_cement", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_cement" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup" - ] - }, - { - "title": "Smart_rollup_publish", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_publish" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "commitment": { - "type": "object", - "properties": { - "compressed_state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "predecessor": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "number_of_ticks": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "compressed_state", - "inbox_level", - "predecessor", - "number_of_ticks" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "commitment" - ] - }, - { - "title": "Smart_rollup_refute", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_refute" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "opponent": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "refutation": { - "oneOf": [ - { - "title": "Start", - "type": "object", - "properties": { - "refutation_kind": { - "type": "string", - "enum": [ - "start" - ] - }, - "player_commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "opponent_commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - } - }, - "required": [ - "refutation_kind", - "player_commitment_hash", - "opponent_commitment_hash" - ] - }, - { - "title": "Move", - "type": "object", - "properties": { - "refutation_kind": { - "type": "string", - "enum": [ - "move" - ] - }, - "choice": { - "$ref": "#/components/schemas/positive_bignum" - }, - "step": { - "oneOf": [ - { - "title": "Dissection", - "type": "array", - "items": { - "type": "object", - "properties": { - "state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "tick": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "tick" - ] - } - }, - { - "title": "Proof", - "type": "object", - "properties": { - "pvm_step": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "input_proof": { - "oneOf": [ - { - "title": "inbox proof", - "type": "object", - "properties": { - "input_proof_kind": { - "type": "string", - "enum": [ - "inbox_proof" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "message_counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "serialized_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "input_proof_kind", - "level", - "message_counter", - "serialized_proof" - ] - }, - { - "title": "reveal proof", - "type": "object", - "properties": { - "input_proof_kind": { - "type": "string", - "enum": [ - "reveal_proof" - ] - }, - "reveal_proof": { - "oneOf": [ - { - "title": "raw data proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "raw_data_proof" - ] - }, - "raw_data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "reveal_proof_kind", - "raw_data" - ] - }, - { - "title": "metadata proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "metadata_proof" - ] - } - }, - "required": [ - "reveal_proof_kind" - ] - }, - { - "title": "dal page proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "dal_page_proof" - ] - }, - "dal_page_id": { - "type": "object", - "properties": { - "published_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "slot_index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "page_index": { - "type": "integer", - "minimum": -32768, - "maximum": 32767 - } - }, - "required": [ - "published_level", - "slot_index", - "page_index" - ] - }, - "dal_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "reveal_proof_kind", - "dal_page_id", - "dal_proof" - ] - }, - { - "title": "dal parameters proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "dal_parameters_proof" - ] - } - }, - "required": [ - "reveal_proof_kind" - ] - } - ] - } - }, - "required": [ - "input_proof_kind", - "reveal_proof" - ] - }, - { - "title": "first input", - "type": "object", - "properties": { - "input_proof_kind": { - "type": "string", - "enum": [ - "first_input" - ] - } - }, - "required": [ - "input_proof_kind" - ] - } - ] - } - }, - "required": [ - "pvm_step" - ] - } - ] - } - }, - "required": [ - "refutation_kind", - "choice", - "step" - ] - } - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "opponent", - "refutation" - ] - }, - { - "title": "Smart_rollup_timeout", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_timeout" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "stakers": { - "type": "object", - "properties": { - "alice": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "bob": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "alice", - "bob" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "stakers" - ] - }, - { - "title": "Smart_rollup_execute_outbox_message", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_execute_outbox_message" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "cemented_commitment": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "output_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "cemented_commitment", - "output_proof" - ] - }, - { - "title": "Smart_rollup_recover_bond", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_recover_bond" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "staker": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "staker" - ] - }, - { - "title": "Zk_rollup_origination", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "zk_rollup_origination" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "public_parameters": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "circuits_info": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "oneOf": [ - { - "title": "Public", - "type": "object", - "properties": { - "public": {} - }, - "required": [ - "public" - ] - }, - { - "title": "Private", - "type": "object", - "properties": { - "private": {} - }, - "required": [ - "private" - ] - }, - { - "title": "Fee", - "type": "object", - "properties": { - "fee": {} - }, - "required": [ - "fee" - ] - } - ] - } - ] - } - } - }, - "init_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "nb_ops": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "public_parameters", - "circuits_info", - "init_state", - "nb_ops" - ] - }, - { - "title": "Zk_rollup_publish", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "zk_rollup_publish" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "zk_rollup": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "op": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "properties": { - "op_code": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "price": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/script_expr" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "id", - "amount" - ] - }, - "l1_dst": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "rollup_id": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "payload": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - }, - "required": [ - "op_code", - "price", - "l1_dst", - "rollup_id", - "payload" - ] - }, - { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "object", - "properties": { - "contents": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "ty": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - } - }, - "required": [ - "contents", - "ty", - "ticketer" - ] - } - ] - } - ] - } - } - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "zk_rollup", - "op" - ] - }, - { - "title": "Zk_rollup_update", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "zk_rollup_update" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "zk_rollup": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "update": { - "type": "object", - "properties": { - "pending_pis": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "type": "object", - "properties": { - "new_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "fee": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "exit_validity": { - "type": "boolean" - } - }, - "required": [ - "new_state", - "fee", - "exit_validity" - ] - } - ] - } - } - }, - "private_pis": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "type": "object", - "properties": { - "new_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "fee": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "new_state", - "fee" - ] - } - ] - } - } - }, - "fee_pi": { - "type": "object", - "properties": { - "new_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - }, - "required": [ - "new_state" - ] - }, - "proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "pending_pis", - "private_pis", - "fee_pi", - "proof" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "zk_rollup", - "update" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.internal_operation_result.delegation": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.internal_operation_result.event": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.internal_operation_result.origination": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "originated_contracts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "originated_contracts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.internal_operation_result.transaction": { - "oneOf": [ - { - "title": "Applied", - "oneOf": [ - { - "title": "To_contract", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "storage": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "ticket_receipt": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - }, - "originated_contracts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - }, - "allocated_destination_contract": { - "type": "boolean" - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "status" - ] - }, - { - "title": "To_smart_rollup", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "ticket_receipt": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - } - }, - "required": [ - "status", - "ticket_receipt" - ] - } - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "oneOf": [ - { - "title": "To_contract", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "storage": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "ticket_receipt": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - }, - "originated_contracts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - }, - "allocated_destination_contract": { - "type": "boolean" - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "status" - ] - }, - { - "title": "To_smart_rollup", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "ticket_receipt": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - } - }, - "required": [ - "status", - "ticket_receipt" - ] - } - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_contents_and_result": { - "oneOf": [ - { - "title": "Attestation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "consensus_power": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "consensus_key": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "delegate", - "consensus_power", - "consensus_key" - ] - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash", - "metadata" - ] - }, - { - "title": "Attestation_with_dal", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "attestation_with_dal" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "dal_attestation": { - "$ref": "#/components/schemas/bignum" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "consensus_power": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "consensus_key": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "delegate", - "consensus_power", - "consensus_key" - ] - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash", - "dal_attestation", - "metadata" - ] - }, - { - "title": "Preattestation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "preattestation" - ] - }, - "slot": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "round": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "block_payload_hash": { - "$ref": "#/components/schemas/value_hash" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "consensus_power": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "consensus_key": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "delegate", - "consensus_power", - "consensus_key" - ] - } - }, - "required": [ - "kind", - "slot", - "level", - "round", - "block_payload_hash", - "metadata" - ] - }, - { - "title": "Double_attestation_evidence", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "double_attestation_evidence" - ] - }, - "op1": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.attestation" - }, - "op2": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.attestation" - }, - "metadata": { - "type": "object", - "properties": { - "forbidden_delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - } - } - }, - "required": [ - "kind", - "op1", - "op2", - "metadata" - ] - }, - { - "title": "Double_preattestation_evidence", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "double_preattestation_evidence" - ] - }, - "op1": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.preattestation" - }, - "op2": { - "$ref": "#/components/schemas/021-PsQuebec.inlined.preattestation" - }, - "metadata": { - "type": "object", - "properties": { - "forbidden_delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - } - } - }, - "required": [ - "kind", - "op1", - "op2", - "metadata" - ] - }, - { - "title": "Seed_nonce_revelation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "seed_nonce_revelation" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "nonce": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - } - } - }, - "required": [ - "kind", - "level", - "nonce", - "metadata" - ] - }, - { - "title": "Vdf_revelation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "vdf_revelation" - ] - }, - "solution": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - ] - } - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - } - } - }, - "required": [ - "kind", - "solution", - "metadata" - ] - }, - { - "title": "Double_baking_evidence", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "double_baking_evidence" - ] - }, - "bh1": { - "$ref": "#/components/schemas/021-PsQuebec.block_header.alpha.full_header" - }, - "bh2": { - "$ref": "#/components/schemas/021-PsQuebec.block_header.alpha.full_header" - }, - "metadata": { - "type": "object", - "properties": { - "forbidden_delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - } - } - }, - "required": [ - "kind", - "bh1", - "bh2", - "metadata" - ] - }, - { - "title": "Activate_account", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "activate_account" - ] - }, - "pkh": { - "$ref": "#/components/schemas/Ed25519.Public_key_hash" - }, - "secret": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - } - } - }, - "required": [ - "kind", - "pkh", - "secret", - "metadata" - ] - }, - { - "title": "Proposals", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "proposals" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "period": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proposals": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Protocol_hash" - } - }, - "metadata": { - "type": "object", - "properties": {} - } - }, - "required": [ - "kind", - "source", - "period", - "proposals", - "metadata" - ] - }, - { - "title": "Ballot", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "ballot" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "period": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proposal": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "ballot": { - "type": "string", - "enum": [ - "nay", - "yay", - "pass" - ] - }, - "metadata": { - "type": "object", - "properties": {} - } - }, - "required": [ - "kind", - "source", - "period", - "proposal", - "ballot", - "metadata" - ] - }, - { - "title": "Drain_delegate", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "drain_delegate" - ] - }, - "consensus_key": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "destination": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "allocated_destination_contract": { - "type": "boolean" - } - } - } - }, - "required": [ - "kind", - "consensus_key", - "delegate", - "destination", - "metadata" - ] - }, - { - "title": "Reveal", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "reveal" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "public_key": { - "$ref": "#/components/schemas/Signature.Public_key" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.reveal" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "public_key", - "metadata" - ] - }, - { - "title": "Transaction", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "transaction" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "amount": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "parameters": { - "type": "object", - "properties": { - "entrypoint": { - "$ref": "#/components/schemas/021-PsQuebec.entrypoint" - }, - "value": {} - }, - "required": [ - "entrypoint", - "value" - ] - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.transaction" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "amount", - "destination", - "metadata" - ] - }, - { - "title": "Origination", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "origination" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "balance": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "script": { - "$ref": "#/components/schemas/021-PsQuebec.scripted.contracts" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.origination" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "balance", - "script", - "metadata" - ] - }, - { - "title": "Delegation", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "delegation" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.delegation" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "metadata" - ] - }, - { - "title": "Register_global_constant", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "register_global_constant" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "value": {}, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.register_global_constant" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "value", - "metadata" - ] - }, - { - "title": "Set_deposits_limit", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "set_deposits_limit" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "limit": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.set_deposits_limit" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "metadata" - ] - }, - { - "title": "Increase_paid_storage", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "increase_paid_storage" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.increase_paid_storage" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "amount", - "destination", - "metadata" - ] - }, - { - "title": "Update_consensus_key", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "update_consensus_key" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "pk": { - "$ref": "#/components/schemas/Signature.Public_key" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.update_consensus_key" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "pk", - "metadata" - ] - }, - { - "title": "Transfer_ticket", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "transfer_ticket" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "ticket_contents": {}, - "ticket_ty": {}, - "ticket_ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "ticket_amount": { - "$ref": "#/components/schemas/positive_bignum" - }, - "destination": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "entrypoint": { - "$ref": "#/components/schemas/unistring" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.transfer_ticket" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "ticket_contents", - "ticket_ty", - "ticket_ticketer", - "ticket_amount", - "destination", - "entrypoint", - "metadata" - ] - }, - { - "title": "Dal_publish_commitment", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "dal_publish_commitment" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "slot_header": { - "type": "object", - "properties": { - "slot_index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "commitment": { - "$ref": "#/components/schemas/DAL_commitment" - }, - "commitment_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "slot_index", - "commitment", - "commitment_proof" - ] - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "slot_header", - "metadata" - ] - }, - { - "title": "Smart_rollup_originate", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_originate" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "pvm_kind": { - "type": "string", - "enum": [ - "wasm_2_0_0", - "arith", - "riscv" - ] - }, - "kernel": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "parameters_ty": {}, - "whitelist": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "pvm_kind", - "kernel", - "parameters_ty", - "metadata" - ] - }, - { - "title": "Smart_rollup_add_messages", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_add_messages" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "message": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "message", - "metadata" - ] - }, - { - "title": "Smart_rollup_cement", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_cement" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "metadata" - ] - }, - { - "title": "Smart_rollup_publish", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_publish" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "commitment": { - "type": "object", - "properties": { - "compressed_state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "predecessor": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "number_of_ticks": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "compressed_state", - "inbox_level", - "predecessor", - "number_of_ticks" - ] - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "commitment", - "metadata" - ] - }, - { - "title": "Smart_rollup_refute", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_refute" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "opponent": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "refutation": { - "oneOf": [ - { - "title": "Start", - "type": "object", - "properties": { - "refutation_kind": { - "type": "string", - "enum": [ - "start" - ] - }, - "player_commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "opponent_commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - } - }, - "required": [ - "refutation_kind", - "player_commitment_hash", - "opponent_commitment_hash" - ] - }, - { - "title": "Move", - "type": "object", - "properties": { - "refutation_kind": { - "type": "string", - "enum": [ - "move" - ] - }, - "choice": { - "$ref": "#/components/schemas/positive_bignum" - }, - "step": { - "oneOf": [ - { - "title": "Dissection", - "type": "array", - "items": { - "type": "object", - "properties": { - "state": { - "$ref": "#/components/schemas/smart_rollup_state_hash" - }, - "tick": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "tick" - ] - } - }, - { - "title": "Proof", - "type": "object", - "properties": { - "pvm_step": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "input_proof": { - "oneOf": [ - { - "title": "inbox proof", - "type": "object", - "properties": { - "input_proof_kind": { - "type": "string", - "enum": [ - "inbox_proof" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "message_counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "serialized_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "input_proof_kind", - "level", - "message_counter", - "serialized_proof" - ] - }, - { - "title": "reveal proof", - "type": "object", - "properties": { - "input_proof_kind": { - "type": "string", - "enum": [ - "reveal_proof" - ] - }, - "reveal_proof": { - "oneOf": [ - { - "title": "raw data proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "raw_data_proof" - ] - }, - "raw_data": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "reveal_proof_kind", - "raw_data" - ] - }, - { - "title": "metadata proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "metadata_proof" - ] - } - }, - "required": [ - "reveal_proof_kind" - ] - }, - { - "title": "dal page proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "dal_page_proof" - ] - }, - "dal_page_id": { - "type": "object", - "properties": { - "published_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "slot_index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "page_index": { - "type": "integer", - "minimum": -32768, - "maximum": 32767 - } - }, - "required": [ - "published_level", - "slot_index", - "page_index" - ] - }, - "dal_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "reveal_proof_kind", - "dal_page_id", - "dal_proof" - ] - }, - { - "title": "dal parameters proof", - "type": "object", - "properties": { - "reveal_proof_kind": { - "type": "string", - "enum": [ - "dal_parameters_proof" - ] - } - }, - "required": [ - "reveal_proof_kind" - ] - } - ] - } - }, - "required": [ - "input_proof_kind", - "reveal_proof" - ] - }, - { - "title": "first input", - "type": "object", - "properties": { - "input_proof_kind": { - "type": "string", - "enum": [ - "first_input" - ] - } - }, - "required": [ - "input_proof_kind" - ] - } - ] - } - }, - "required": [ - "pvm_step" - ] - } - ] - } - }, - "required": [ - "refutation_kind", - "choice", - "step" - ] - } - ] - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "opponent", - "refutation", - "metadata" - ] - }, - { - "title": "Smart_rollup_timeout", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_timeout" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "stakers": { - "type": "object", - "properties": { - "alice": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "bob": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "alice", - "bob" - ] - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "stakers", - "metadata" - ] - }, - { - "title": "Smart_rollup_execute_outbox_message", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_execute_outbox_message" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "cemented_commitment": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "output_proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "cemented_commitment", - "output_proof", - "metadata" - ] - }, - { - "title": "Smart_rollup_recover_bond", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "smart_rollup_recover_bond" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "rollup": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "staker": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "rollup", - "staker", - "metadata" - ] - }, - { - "title": "Zk_rollup_origination", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "zk_rollup_origination" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "public_parameters": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "circuits_info": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "oneOf": [ - { - "title": "Public", - "type": "object", - "properties": { - "public": {} - }, - "required": [ - "public" - ] - }, - { - "title": "Private", - "type": "object", - "properties": { - "private": {} - }, - "required": [ - "private" - ] - }, - { - "title": "Fee", - "type": "object", - "properties": { - "fee": {} - }, - "required": [ - "fee" - ] - } - ] - } - ] - } - } - }, - "init_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "nb_ops": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "public_parameters", - "circuits_info", - "init_state", - "nb_ops", - "metadata" - ] - }, - { - "title": "Zk_rollup_publish", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "zk_rollup_publish" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "zk_rollup": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "op": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "properties": { - "op_code": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "price": { - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/script_expr" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "id", - "amount" - ] - }, - "l1_dst": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "rollup_id": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "payload": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - }, - "required": [ - "op_code", - "price", - "l1_dst", - "rollup_id", - "payload" - ] - }, - { - "nullable": true, - "oneOf": [ - { - "title": "Some", - "type": "object", - "properties": { - "contents": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "ty": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - } - }, - "required": [ - "contents", - "ty", - "ticketer" - ] - } - ] - } - ] - } - } - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "zk_rollup", - "op", - "metadata" - ] - }, - { - "title": "Zk_rollup_update", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "zk_rollup_update" - ] - }, - "source": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "fee": { - "$ref": "#/components/schemas/021-PsQuebec.mutez" - }, - "counter": { - "$ref": "#/components/schemas/positive_bignum" - }, - "gas_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_limit": { - "$ref": "#/components/schemas/positive_bignum" - }, - "zk_rollup": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "update": { - "type": "object", - "properties": { - "pending_pis": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "type": "object", - "properties": { - "new_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "fee": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "exit_validity": { - "type": "boolean" - } - }, - "required": [ - "new_state", - "fee", - "exit_validity" - ] - } - ] - } - } - }, - "private_pis": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "type": "object", - "properties": { - "new_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "fee": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "new_state", - "fee" - ] - } - ] - } - } - }, - "fee_pi": { - "type": "object", - "properties": { - "new_state": { - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - } - }, - "required": [ - "new_state" - ] - }, - "proof": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "pending_pis", - "private_pis", - "fee_pi", - "proof" - ] - }, - "metadata": { - "type": "object", - "properties": { - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "operation_result": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_result.zk_rollup_update" - }, - "internal_operation_results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.apply_internal_results.alpha.operation_result" - } - } - }, - "required": [ - "operation_result" - ] - } - }, - "required": [ - "kind", - "source", - "fee", - "counter", - "gas_limit", - "storage_limit", - "zk_rollup", - "update", - "metadata" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.dal_publish_commitment": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "slot_header": { - "type": "object", - "properties": { - "version": { - "type": "string", - "enum": [ - "0" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "commitment": { - "$ref": "#/components/schemas/DAL_commitment" - } - }, - "required": [ - "version", - "level", - "index", - "commitment" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status", - "slot_header" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "slot_header": { - "type": "object", - "properties": { - "version": { - "type": "string", - "enum": [ - "0" - ] - }, - "level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "index": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "commitment": { - "$ref": "#/components/schemas/DAL_commitment" - } - }, - "required": [ - "version", - "level", - "index", - "commitment" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status", - "slot_header" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.delegation": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.increase_paid_storage": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.origination": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "originated_contracts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "originated_contracts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.register_global_constant": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "global_address": { - "$ref": "#/components/schemas/script_expr" - } - }, - "required": [ - "status", - "global_address" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "global_address": { - "$ref": "#/components/schemas/script_expr" - } - }, - "required": [ - "status", - "global_address" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.reveal": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.set_deposits_limit": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.smart_rollup_add_messages": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.smart_rollup_cement": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - } - }, - "required": [ - "status", - "inbox_level", - "commitment_hash" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "inbox_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - } - }, - "required": [ - "status", - "inbox_level", - "commitment_hash" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.smart_rollup_execute_outbox_message": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "ticket_updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - }, - "whitelist_update": { - "oneOf": [ - { - "title": "Public", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "public" - ] - } - }, - "required": [ - "kind" - ] - }, - { - "title": "Private", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "update" - ] - }, - "whitelist": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - } - }, - "required": [ - "kind", - "whitelist" - ] - } - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "ticket_updates" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "ticket_updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - }, - "whitelist_update": { - "oneOf": [ - { - "title": "Public", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "public" - ] - } - }, - "required": [ - "kind" - ] - }, - { - "title": "Private", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "update" - ] - }, - "whitelist": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - } - }, - "required": [ - "kind", - "whitelist" - ] - } - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "ticket_updates" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.smart_rollup_originate": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "address": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "genesis_commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "size": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "address", - "genesis_commitment_hash", - "size" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "address": { - "$ref": "#/components/schemas/smart_rollup_address" - }, - "genesis_commitment_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "size": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "address", - "genesis_commitment_hash", - "size" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.smart_rollup_publish": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "staked_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "published_at_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status", - "staked_hash", - "published_at_level", - "balance_updates" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "staked_hash": { - "$ref": "#/components/schemas/smart_rollup_commitment_hash" - }, - "published_at_level": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status", - "staked_hash", - "published_at_level", - "balance_updates" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.smart_rollup_recover_bond": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status", - "balance_updates" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status", - "balance_updates" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.smart_rollup_refute": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "game_status": { - "oneOf": [ - { - "title": "Ongoing", - "type": "string", - "enum": [ - "ongoing" - ] - }, - { - "title": "Ended", - "type": "object", - "properties": { - "result": { - "oneOf": [ - { - "title": "Loser", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "loser" - ] - }, - "reason": { - "oneOf": [ - { - "title": "Conflict_resolved", - "type": "string", - "enum": [ - "conflict_resolved" - ] - }, - { - "title": "Timeout", - "type": "string", - "enum": [ - "timeout" - ] - } - ] - }, - "player": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "reason", - "player" - ] - }, - { - "title": "Draw", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "draw" - ] - } - }, - "required": [ - "kind" - ] - } - ] - } - }, - "required": [ - "result" - ] - } - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status", - "game_status", - "balance_updates" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "game_status": { - "oneOf": [ - { - "title": "Ongoing", - "type": "string", - "enum": [ - "ongoing" - ] - }, - { - "title": "Ended", - "type": "object", - "properties": { - "result": { - "oneOf": [ - { - "title": "Loser", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "loser" - ] - }, - "reason": { - "oneOf": [ - { - "title": "Conflict_resolved", - "type": "string", - "enum": [ - "conflict_resolved" - ] - }, - { - "title": "Timeout", - "type": "string", - "enum": [ - "timeout" - ] - } - ] - }, - "player": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "reason", - "player" - ] - }, - { - "title": "Draw", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "draw" - ] - } - }, - "required": [ - "kind" - ] - } - ] - } - }, - "required": [ - "result" - ] - } - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status", - "game_status", - "balance_updates" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.smart_rollup_timeout": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "game_status": { - "oneOf": [ - { - "title": "Ongoing", - "type": "string", - "enum": [ - "ongoing" - ] - }, - { - "title": "Ended", - "type": "object", - "properties": { - "result": { - "oneOf": [ - { - "title": "Loser", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "loser" - ] - }, - "reason": { - "oneOf": [ - { - "title": "Conflict_resolved", - "type": "string", - "enum": [ - "conflict_resolved" - ] - }, - { - "title": "Timeout", - "type": "string", - "enum": [ - "timeout" - ] - } - ] - }, - "player": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "reason", - "player" - ] - }, - { - "title": "Draw", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "draw" - ] - } - }, - "required": [ - "kind" - ] - } - ] - } - }, - "required": [ - "result" - ] - } - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status", - "game_status", - "balance_updates" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "game_status": { - "oneOf": [ - { - "title": "Ongoing", - "type": "string", - "enum": [ - "ongoing" - ] - }, - { - "title": "Ended", - "type": "object", - "properties": { - "result": { - "oneOf": [ - { - "title": "Loser", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "loser" - ] - }, - "reason": { - "oneOf": [ - { - "title": "Conflict_resolved", - "type": "string", - "enum": [ - "conflict_resolved" - ] - }, - { - "title": "Timeout", - "type": "string", - "enum": [ - "timeout" - ] - } - ] - }, - "player": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "kind", - "reason", - "player" - ] - }, - { - "title": "Draw", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "draw" - ] - } - }, - "required": [ - "kind" - ] - } - ] - } - }, - "required": [ - "result" - ] - } - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - } - }, - "required": [ - "status", - "game_status", - "balance_updates" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.transaction": { - "oneOf": [ - { - "title": "Applied", - "oneOf": [ - { - "title": "To_contract", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "storage": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "ticket_updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - }, - "originated_contracts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - }, - "allocated_destination_contract": { - "type": "boolean" - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "status" - ] - }, - { - "title": "To_smart_rollup", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "ticket_updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - } - }, - "required": [ - "status", - "ticket_updates" - ] - } - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "oneOf": [ - { - "title": "To_contract", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "storage": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "ticket_updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - }, - "originated_contracts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id.originated" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "storage_size": { - "$ref": "#/components/schemas/bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - }, - "allocated_destination_contract": { - "type": "boolean" - }, - "lazy_storage_diff": { - "$ref": "#/components/schemas/021-PsQuebec.lazy_storage_diff" - } - }, - "required": [ - "status" - ] - }, - { - "title": "To_smart_rollup", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "ticket_updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - } - }, - "required": [ - "status", - "ticket_updates" - ] - } - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.transfer_ticket": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "ticket_updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "ticket_updates" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "ticket_updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ticket_token": { - "type": "object", - "properties": { - "ticketer": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "content_type": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - }, - "content": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "required": [ - "ticketer", - "content_type", - "content" - ] - }, - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/021-PsQuebec.transaction_destination" - }, - "amount": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "account", - "amount" - ] - } - } - }, - "required": [ - "ticket_token", - "updates" - ] - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "ticket_updates" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.update_consensus_key": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - } - }, - "required": [ - "status" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.zk_rollup_origination": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "originated_zk_rollup": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "size": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "originated_zk_rollup", - "size" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "originated_zk_rollup": { - "$ref": "#/components/schemas/Zk_rollup_hash" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "size": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "originated_zk_rollup", - "size" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.zk_rollup_publish": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "size": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "size" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "size": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates", - "size" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_result.zk_rollup_update": { - "oneOf": [ - { - "title": "Applied", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "applied" - ] - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates" - ] - }, - { - "title": "Failed", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - } - }, - "required": [ - "status", - "errors" - ] - }, - { - "title": "Skipped", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "skipped" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Backtracked", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "backtracked" - ] - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.error" - } - }, - "balance_updates": { - "$ref": "#/components/schemas/021-PsQuebec.operation_metadata.alpha.balance_updates" - }, - "consumed_milligas": { - "$ref": "#/components/schemas/positive_bignum" - }, - "paid_storage_size_diff": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "status", - "balance_updates" - ] - } - ] - }, - "021-PsQuebec.operation.alpha.operation_with_metadata": { - "oneOf": [ - { - "title": "Operation_with_metadata", - "type": "object", - "properties": { - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.operation_contents_and_result" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "contents" - ] - }, - { - "title": "Operation_without_metadata", - "type": "object", - "properties": { - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "contents" - ] - } - ] - }, - "021-PsQuebec.operation_metadata.alpha.balance_updates": { - "type": "array", - "items": { - "oneOf": [ - { - "title": "Contract", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "contract" - ] - }, - "contract": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "contract", - "change", - "origin" - ] - }, - { - "title": "Block_fees", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "accumulator" - ] - }, - "category": { - "type": "string", - "enum": [ - "block fees" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Deposits", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "freezer" - ] - }, - "category": { - "type": "string", - "enum": [ - "deposits" - ] - }, - "staker": { - "$ref": "#/components/schemas/021-PsQuebec.frozen_staker" - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "staker", - "change", - "origin" - ] - }, - { - "title": "Nonce_revelation_rewards", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "nonce revelation rewards" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Attesting_rewards", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "attesting rewards" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Baking_rewards", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "baking rewards" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Baking_bonuses", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "baking bonuses" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Storage_fees", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "burned" - ] - }, - "category": { - "type": "string", - "enum": [ - "storage fees" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Double_signing_punishments", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "burned" - ] - }, - "category": { - "type": "string", - "enum": [ - "punishments" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Lost_attesting_rewards", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "burned" - ] - }, - "category": { - "type": "string", - "enum": [ - "lost attesting rewards" - ] - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "participation": { - "type": "boolean" - }, - "revelation": { - "type": "boolean" - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "delegate", - "participation", - "revelation", - "change", - "origin" - ] - }, - { - "title": "Liquidity_baking_subsidies", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "subsidy" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Burned", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "burned" - ] - }, - "category": { - "type": "string", - "enum": [ - "burned" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Commitments", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "commitment" - ] - }, - "category": { - "type": "string", - "enum": [ - "commitment" - ] - }, - "committer": { - "$ref": "#/components/schemas/Blinded public key hash" - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "committer", - "change", - "origin" - ] - }, - { - "title": "Bootstrap", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "bootstrap" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Invoice", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "invoice" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Initial_commitments", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "commitment" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Minted", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "minted" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Frozen_bonds", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "freezer" - ] - }, - "category": { - "type": "string", - "enum": [ - "bonds" - ] - }, - "contract": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "bond_id": { - "$ref": "#/components/schemas/021-PsQuebec.bond_id" - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "contract", - "bond_id", - "change", - "origin" - ] - }, - { - "title": "Smart_rollup_refutation_punishments", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "burned" - ] - }, - "category": { - "type": "string", - "enum": [ - "smart_rollup_refutation_punishments" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Smart_rollup_refutation_rewards", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "minted" - ] - }, - "category": { - "type": "string", - "enum": [ - "smart_rollup_refutation_rewards" - ] - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "change", - "origin" - ] - }, - { - "title": "Unstaked_deposits", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "freezer" - ] - }, - "category": { - "type": "string", - "enum": [ - "unstaked_deposits" - ] - }, - "staker": { - "$ref": "#/components/schemas/021-PsQuebec.staker" - }, - "cycle": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "staker", - "cycle", - "change", - "origin" - ] - }, - { - "title": "Staking_delegator_numerator", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "staking" - ] - }, - "category": { - "type": "string", - "enum": [ - "delegator_numerator" - ] - }, - "delegator": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "delegator", - "change", - "origin" - ] - }, - { - "title": "Staking_delegate_denominator", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "staking" - ] - }, - "category": { - "type": "string", - "enum": [ - "delegate_denominator" - ] - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - }, - "change": { - "$ref": "#/components/schemas/int64" - }, - "origin": { - "type": "string", - "enum": [ - "block" - ] - } - }, - "required": [ - "kind", - "category", - "delegate", - "change", - "origin" - ] - } - ] - } - }, - "021-PsQuebec.per_block_votes": { - "type": "object", - "properties": { - "liquidity_baking_vote": { - "oneOf": [ - { - "title": "per_block_vote_on", - "type": "string", - "enum": [ - "on" - ] - }, - { - "title": "per_block_vote_off", - "type": "string", - "enum": [ - "off" - ] - }, - { - "title": "per_block_vote_pass", - "type": "string", - "enum": [ - "pass" - ] - } - ] - }, - "adaptive_issuance_vote": { - "oneOf": [ - { - "title": "per_block_vote_on", - "type": "string", - "enum": [ - "on" - ] - }, - { - "title": "per_block_vote_off", - "type": "string", - "enum": [ - "off" - ] - }, - { - "title": "per_block_vote_pass", - "type": "string", - "enum": [ - "pass" - ] - } - ] - } - }, - "required": [ - "liquidity_baking_vote", - "adaptive_issuance_vote" - ] - }, - "021-PsQuebec.sapling_state_id": { - "title": "Sapling state identifier", - "description": "A sapling state identifier", - "oneOf": [ - { - "$ref": "#/components/schemas/bignum" - } - ] - }, - "021-PsQuebec.scripted.contracts": { - "type": "object", - "properties": { - "code": {}, - "storage": {} - }, - "required": [ - "code", - "storage" - ] - }, - "021-PsQuebec.scripted.trace": { - "type": "array", - "items": { - "type": "object", - "properties": { - "location": { - "$ref": "#/components/schemas/micheline.location" - }, - "gas": { - "$ref": "#/components/schemas/bignum" - }, - "stack": { - "type": "array", - "items": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - } - }, - "required": [ - "location", - "gas", - "stack" - ] - } - }, - "021-PsQuebec.staker": { - "title": "unstaked_frozen_staker", - "description": "Abstract notion of staker used in operation receipts for unstaked frozen deposits, either a single staker or all the stakers delegating to some delegate.", - "oneOf": [ - { - "title": "Single", - "type": "object", - "properties": { - "contract": { - "$ref": "#/components/schemas/021-PsQuebec.contract_id" - }, - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "contract", - "delegate" - ] - }, - { - "title": "Shared", - "type": "object", - "properties": { - "delegate": { - "$ref": "#/components/schemas/Signature.Public_key_hash" - } - }, - "required": [ - "delegate" - ] - } - ] - }, - "021-PsQuebec.transaction_destination": { - "title": "A destination of a transaction", - "description": "A destination notation compatible with the contract notation as given to an RPC or inside scripts. Can be a base58 implicit contract hash, a base58 originated contract hash, a base58 originated transaction rollup, or a base58 originated smart rollup.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Blinded public key hash": { - "title": "A blinded public key hash (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Chain_id": { - "title": "Network identifier (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Context_hash": { - "title": "A hash of context (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Contract_hash": { - "title": "A contract ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "DAL_commitment": { - "title": "Commitment representation for the DAL (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Ed25519.Public_key_hash": { - "title": "An Ed25519 public key hash (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Operation_hash": { - "title": "A Tezos operation ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Operation_list_list_hash": { - "title": "A list of list of operations (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Operation_metadata_hash": { - "title": "A Tezos operation metadata ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Protocol_hash": { - "title": "A Tezos protocol ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Signature.Public_key": { - "title": "A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Signature.Public_key_hash": { - "title": "A Ed25519, Secp256k1, P256, or BLS public key hash (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Signature.V0": { - "title": "A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Signature.V1": { - "title": "A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "Zk_rollup_hash": { - "title": "A zk rollup address (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "bignum": { - "title": "Big number", - "description": "Decimal representation of a big number", - "type": "string" - }, - "block_hash": { - "title": "A block identifier (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "block_header.shell": { - "title": "Shell header", - "description": "Block header's shell-related content. It contains information such as the block level, its predecessor and timestamp.", - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proto": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "predecessor": { - "$ref": "#/components/schemas/block_hash" - }, - "timestamp": { - "$ref": "#/components/schemas/timestamp.protocol" - }, - "validation_pass": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "operations_hash": { - "$ref": "#/components/schemas/Operation_list_list_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "context": { - "$ref": "#/components/schemas/Context_hash" - } - }, - "required": [ - "level", - "proto", - "predecessor", - "timestamp", - "validation_pass", - "operations_hash", - "fitness", - "context" - ] - }, - "block_header_metadata": { - "type": "object", - "properties": { - "protocol": { - "type": "string", - "enum": [ - "ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im" - ] - }, - "next_protocol": { - "type": "string", - "enum": [ - "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg" - ] - }, - "test_chain_status": { - "$ref": "#/components/schemas/test_chain_status" - }, - "max_operations_ttl": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "max_operation_data_length": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "max_block_header_length": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "max_operation_list_length": { - "type": "array", - "items": { - "type": "object", - "properties": { - "max_size": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "max_op": { - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - } - }, - "required": [ - "max_size" - ] - } - } - }, - "required": [ - "protocol", - "next_protocol", - "test_chain_status", - "max_operations_ttl", - "max_operation_data_length", - "max_block_header_length", - "max_operation_list_length" - ], - "additionalProperties": {} - }, - "cycle_nonce": { - "title": "A nonce hash (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "dal_skip_list_pointer": { - "title": "A hash that represents the skip list pointers (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "error": { - "description": "An error trace. The full list of errors is available with the global RPC `GET errors`" - }, - "fitness": { - "title": "Block fitness", - "description": "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.", - "type": "array", - "items": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "inode_tree": { - "oneOf": [ - { - "title": "Inode_tree", - "type": "object", - "properties": { - "inode_tree": { - "type": "object", - "properties": { - "length": { - "$ref": "#/components/schemas/int64" - }, - "proofs": { - "oneOf": [ - { - "title": "sparse_proof", - "type": "object", - "properties": { - "sparse_proof": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - { - "$ref": "#/components/schemas/inode_tree" - } - ] - } - } - } - }, - "required": [ - "sparse_proof" - ] - }, - { - "title": "dense_proof", - "type": "object", - "properties": { - "dense_proof": { - "type": "array", - "items": { - "$ref": "#/components/schemas/inode_tree" - } - } - }, - "required": [ - "dense_proof" - ] - } - ] - } - }, - "required": [ - "length", - "proofs" - ] - } - }, - "required": [ - "inode_tree" - ] - }, - { - "title": "other_inode_trees", - "type": "object", - "properties": { - "other_inode_trees": { - "oneOf": [ - { - "title": "Inode_values", - "type": "object", - "properties": { - "inode_values": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - { - "$ref": "#/components/schemas/tree_encoding" - } - ] - } - } - } - }, - "required": [ - "inode_values" - ] - }, - { - "title": "other_inode_trees", - "type": "object", - "properties": { - "other_inode_trees": { - "oneOf": [ - { - "title": "Blinded_inode", - "type": "object", - "properties": { - "blinded_inode": { - "$ref": "#/components/schemas/Context_hash" - } - }, - "required": [ - "blinded_inode" - ] - }, - { - "title": "Inode_extender", - "type": "object", - "properties": { - "inode_extender": { - "type": "object", - "properties": { - "length": { - "$ref": "#/components/schemas/int64" - }, - "segment": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "proof": { - "$ref": "#/components/schemas/inode_tree" - } - }, - "required": [ - "length", - "segment", - "proof" - ] - } - }, - "required": [ - "inode_extender" - ] - }, - { - "title": "None", - "type": "object", - "properties": { - "none": {} - }, - "required": [ - "none" - ] - } - ] - } - }, - "required": [ - "other_inode_trees" - ] - } - ] - } - }, - "required": [ - "other_inode_trees" - ] - } - ] - }, - "int64": { - "title": "64 bit integers", - "description": "Decimal representation of 64 bit integers", - "type": "string" - }, - "merkle_tree": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - }, - { - "oneOf": [ - { - "title": "Hash", - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/components/schemas/unistring" - } - ] - } - }, - { - "title": "Data", - "oneOf": [ - { - "$ref": "#/components/schemas/raw_context" - } - ] - }, - { - "title": "Continue", - "oneOf": [ - { - "$ref": "#/components/schemas/merkle_tree" - } - ] - } - ] - } - ] - } - } - }, - "micheline.021-PsQuebec.michelson_v1.expression": { - "oneOf": [ - { - "title": "Int", - "type": "object", - "properties": { - "int": { - "$ref": "#/components/schemas/bignum" - } - }, - "required": [ - "int" - ] - }, - { - "title": "String", - "type": "object", - "properties": { - "string": { - "$ref": "#/components/schemas/unistring" - } - }, - "required": [ - "string" - ] - }, - { - "title": "Bytes", - "type": "object", - "properties": { - "bytes": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "bytes" - ] - }, - { - "title": "Sequence", - "type": "array", - "items": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - { - "title": "Prim__generic", - "description": "Generic primitive (any number of args with or without annotations)", - "type": "object", - "properties": { - "prim": { - "$ref": "#/components/schemas/021-PsQuebec.michelson.v1.primitives" - }, - "args": { - "type": "array", - "items": { - "$ref": "#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression" - } - }, - "annots": { - "type": "array", - "items": { - "$ref": "#/components/schemas/unistring" - } - } - }, - "required": [ - "prim" - ] - } - ] - }, - "micheline.location": { - "title": "Canonical location in a Micheline expression", - "description": "The location of a node in a Micheline expression tree in prefix order, with zero being the root and adding one for every basic node, sequence and primitive application.", - "type": "integer", - "minimum": -1073741824, - "maximum": 1073741823 - }, - "next_operation": { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "protocol": { - "type": "string", - "enum": [ - "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg" - ] - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/021-PsQuebec.operation.alpha.contents" - } - }, - "signature": { - "$ref": "#/components/schemas/Signature.V1" - } - }, - "required": [ - "protocol", - "branch", - "contents" - ] - }, - "operation": { - "oneOf": [ - { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "protocol": { - "type": "string", - "enum": [ - "ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im" - ] - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - }, - "metadata": { - "type": "string", - "enum": [ - "too large" - ] - } - }, - "required": [ - "protocol", - "chain_id", - "hash", - "branch", - "metadata" - ], - "additionalProperties": {} - }, - { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "protocol": { - "type": "string", - "enum": [ - "ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im" - ] - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - } - }, - "required": [ - "protocol", - "chain_id", - "hash", - "branch" - ], - "additionalProperties": {} - }, - { - "description": "An operation's shell header.", - "type": "object", - "properties": { - "protocol": { - "type": "string", - "enum": [ - "ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im" - ] - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "hash": { - "$ref": "#/components/schemas/Operation_hash" - }, - "branch": { - "$ref": "#/components/schemas/block_hash" - } - }, - "required": [ - "protocol", - "chain_id", - "hash", - "branch" - ], - "additionalProperties": {} - } - ] - }, - "positive_bignum": { - "title": "Positive big number", - "description": "Decimal representation of a positive big number", - "type": "string" - }, - "random": { - "title": "A random generation state (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "raw_block_header": { - "title": "Shell header", - "description": "Block header's shell-related content. It contains information such as the block level, its predecessor and timestamp.", - "type": "object", - "properties": { - "level": { - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "proto": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "predecessor": { - "$ref": "#/components/schemas/block_hash" - }, - "timestamp": { - "$ref": "#/components/schemas/timestamp.protocol" - }, - "validation_pass": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "operations_hash": { - "$ref": "#/components/schemas/Operation_list_list_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "context": { - "$ref": "#/components/schemas/Context_hash" - }, - "content": { - "oneOf": [ - { - "title": "Activate", - "type": "object", - "properties": { - "command": { - "type": "string", - "enum": [ - "activate" - ] - }, - "hash": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "protocol_parameters": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "command", - "hash", - "fitness", - "protocol_parameters" - ] - }, - { - "title": "Activate_testchain", - "type": "object", - "properties": { - "command": { - "type": "string", - "enum": [ - "activate_testchain" - ] - }, - "hash": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "fitness": { - "$ref": "#/components/schemas/fitness" - }, - "protocol_parameters": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "validity_time": { - "$ref": "#/components/schemas/int64" - } - }, - "required": [ - "command", - "hash", - "fitness", - "protocol_parameters", - "validity_time" - ] - } - ] - }, - "signature": { - "$ref": "#/components/schemas/Signature.V0" - } - }, - "required": [ - "level", - "proto", - "predecessor", - "timestamp", - "validation_pass", - "operations_hash", - "fitness", - "context", - "content", - "signature" - ] - }, - "raw_context": { - "nullable": true, - "oneOf": [ - { - "title": "Key", - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - { - "title": "Dir", - "type": "object", - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/raw_context" - } - } - ] - }, - "sapling.DH.epk": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "sapling.transaction.ciphertext": { - "type": "object", - "properties": { - "cv": { - "$ref": "#/components/schemas/sapling.transaction.commitment_value" - }, - "epk": { - "$ref": "#/components/schemas/sapling.DH.epk" - }, - "payload_enc": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "nonce_enc": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "payload_out": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "nonce_out": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - }, - "required": [ - "cv", - "epk", - "payload_enc", - "nonce_enc", - "payload_out", - "nonce_out" - ] - }, - "sapling.transaction.commitment": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "sapling.transaction.commitment_hash": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "sapling.transaction.commitment_value": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "sapling.transaction.nullifier": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "script_expr": { - "title": "A script expression ID (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "smart_rollup_address": { - "title": "A smart rollup address (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "smart_rollup_commitment_hash": { - "title": "The hash of a commitment of a smart rollup (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "smart_rollup_inbox_hash": { - "title": "The hash of an inbox of a smart rollup (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "smart_rollup_merkelized_payload_hashes_hash": { - "title": "The hash of the Merkelized payload hashes of a smart rollup inbox (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "smart_rollup_state_hash": { - "title": "The hash of the VM state of a smart rollup (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "test_chain_status": { - "description": "The status of the test chain: not_running (there is no test chain at the moment), forking (the test chain is being setup), running (the test chain is running).", - "oneOf": [ - { - "title": "Not_running", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "not_running" - ] - } - }, - "required": [ - "status" - ] - }, - { - "title": "Forking", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "forking" - ] - }, - "protocol": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "expiration": { - "$ref": "#/components/schemas/timestamp.protocol" - } - }, - "required": [ - "status", - "protocol", - "expiration" - ] - }, - { - "title": "Running", - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "running" - ] - }, - "chain_id": { - "$ref": "#/components/schemas/Chain_id" - }, - "genesis": { - "$ref": "#/components/schemas/block_hash" - }, - "protocol": { - "$ref": "#/components/schemas/Protocol_hash" - }, - "expiration": { - "$ref": "#/components/schemas/timestamp.protocol" - } - }, - "required": [ - "status", - "chain_id", - "genesis", - "protocol", - "expiration" - ] - } - ] - }, - "timestamp.protocol": { - "description": "A timestamp as seen by the protocol: second-level precision, epoch based.", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - }, - "tree_encoding": { - "oneOf": [ - { - "title": "Inode", - "type": "object", - "properties": { - "inode": { - "type": "object", - "properties": { - "length": { - "$ref": "#/components/schemas/int64" - }, - "proofs": { - "oneOf": [ - { - "title": "sparse_proof", - "type": "object", - "properties": { - "sparse_proof": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - { - "$ref": "#/components/schemas/inode_tree" - } - ] - } - } - } - }, - "required": [ - "sparse_proof" - ] - }, - { - "title": "dense_proof", - "type": "object", - "properties": { - "dense_proof": { - "type": "array", - "items": { - "$ref": "#/components/schemas/inode_tree" - } - } - }, - "required": [ - "dense_proof" - ] - } - ] - } - }, - "required": [ - "length", - "proofs" - ] - } - }, - "required": [ - "inode" - ] - }, - { - "title": "other_trees", - "type": "object", - "properties": { - "other_trees": { - "oneOf": [ - { - "title": "Node", - "type": "object", - "properties": { - "node": { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - { - "$ref": "#/components/schemas/tree_encoding" - } - ] - } - } - } - }, - "required": [ - "node" - ] - }, - { - "title": "other_trees", - "type": "object", - "properties": { - "other_trees": { - "oneOf": [ - { - "title": "Value", - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "title": "short_bytes", - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - { - "title": "medium_bytes", - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - { - "title": "long_bytes", - "description": "This case is void. No data is accepted." - }, - { - "title": "unlimited_bytes", - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - } - ] - } - }, - "required": [ - "value" - ] - }, - { - "title": "Blinded_value", - "type": "object", - "properties": { - "blinded_value": { - "$ref": "#/components/schemas/Context_hash" - } - }, - "required": [ - "blinded_value" - ] - }, - { - "title": "Blinded_node", - "type": "object", - "properties": { - "blinded_node": { - "$ref": "#/components/schemas/Context_hash" - } - }, - "required": [ - "blinded_node" - ] - }, - { - "title": "Extender", - "type": "object", - "properties": { - "extender": { - "type": "object", - "properties": { - "length": { - "$ref": "#/components/schemas/int64" - }, - "segment": { - "type": "string", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9])*$" - }, - "proof": { - "$ref": "#/components/schemas/inode_tree" - } - }, - "required": [ - "length", - "segment", - "proof" - ] - } - }, - "required": [ - "extender" - ] - }, - { - "title": "None", - "type": "object", - "properties": { - "none": {} - }, - "required": [ - "none" - ] - } - ] - } - }, - "required": [ - "other_trees" - ] - } - ] - } - }, - "required": [ - "other_trees" - ] - } - ] - }, - "unistring": { - "title": "Universal string representation", - "description": "Either a plain UTF8 string, or a sequence of bytes for strings that contain invalid byte sequences.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "invalid_utf8_string": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0, - "maximum": 255 - } - } - }, - "required": [ - "invalid_utf8_string" - ] - } - ] - }, - "value_hash": { - "title": "Hash of a consensus value (Base58Check-encoded)", - "oneOf": [ - { - "$ref": "#/components/schemas/unistring" - } - ] - } - } - } -} diff --git a/docs/api/quebec-smart-rollup-node-openapi.json b/docs/api/quebec-smart-rollup-node-openapi.json deleted file mode 100644 index 4613dc26bd02..000000000000 --- a/docs/api/quebec-smart-rollup-node-openapi.json +++ /dev/null @@ -1 +0,0 @@ -{"openapi":"3.0.0","info":{"title":"Smart Rollup Node RPCs","description":"Smart Rollup Node RPC API for protocol PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg","version":"Octez 22.0 (TBD)"},"paths":{"/admin/batcher/queue":{"delete":{"description":"Clear operation queues of injectors","parameters":[{"name":"order_below","in":"query","required":false,"schema":{"type":"string"}},{"name":"drop_no_order","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/admin/cancel_gc":{"get":{"description":"Cancel any ongoing GC","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"boolean"}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/admin/injector/queues":{"get":{"description":"Get operation queues of injectors","parameters":[{"name":"tag","in":"query","description":"A kind of operation for the injector.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string","enum":["add_messages","publish","refute","recover","timeout","publish_dal_commitment","cement","execute_outbox_message"]}},"queue":{"type":"array","items":{"oneOf":[{"title":"add_messages","type":"object","properties":{"kind":{"type":"string","enum":["add_messages"]},"message":{"type":"array","items":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"errors":{"type":"object","properties":{"count":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"last":{"$ref":"#/components/schemas/error"}},"required":["count"]}},"required":["kind","message"]},{"title":"cement","type":"object","properties":{"kind":{"type":"string","enum":["cement"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"commitment":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"errors":{"type":"object","properties":{"count":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"last":{"$ref":"#/components/schemas/error"}},"required":["count"]}},"required":["kind","rollup","commitment"]},{"title":"publish","type":"object","properties":{"kind":{"type":"string","enum":["publish"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"commitment":{"type":"object","properties":{"compressed_state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"inbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"number_of_ticks":{"$ref":"#/components/schemas/int64"}},"required":["compressed_state","inbox_level","predecessor","number_of_ticks"]},"errors":{"type":"object","properties":{"count":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"last":{"$ref":"#/components/schemas/error"}},"required":["count"]}},"required":["kind","rollup","commitment"]},{"title":"refute","type":"object","properties":{"kind":{"type":"string","enum":["refute"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"opponent":{"$ref":"#/components/schemas/Signature.Public_key_hash"},"refutation":{"oneOf":[{"title":"Start","type":"object","properties":{"refutation_kind":{"type":"string","enum":["start"]},"player_commitment_hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"opponent_commitment_hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}},"required":["refutation_kind","player_commitment_hash","opponent_commitment_hash"]},{"title":"Move","type":"object","properties":{"refutation_kind":{"type":"string","enum":["move"]},"choice":{"$ref":"#/components/schemas/positive_bignum"},"step":{"oneOf":[{"title":"Dissection","type":"array","items":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"tick":{"$ref":"#/components/schemas/positive_bignum"}},"required":["tick"]}},{"title":"Proof","type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}]}},"required":["refutation_kind","choice","step"]}]},"errors":{"type":"object","properties":{"count":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"last":{"$ref":"#/components/schemas/error"}},"required":["count"]}},"required":["kind","rollup","opponent","refutation"]},{"title":"timeout","type":"object","properties":{"kind":{"type":"string","enum":["timeout"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"stakers":{"type":"object","properties":{"alice":{"$ref":"#/components/schemas/Signature.Public_key_hash"},"bob":{"$ref":"#/components/schemas/Signature.Public_key_hash"}},"required":["alice","bob"]},"errors":{"type":"object","properties":{"count":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"last":{"$ref":"#/components/schemas/error"}},"required":["count"]}},"required":["kind","rollup","stakers"]},{"title":"recover","type":"object","properties":{"kind":{"type":"string","enum":["recover"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"staker":{"$ref":"#/components/schemas/Signature.Public_key_hash"},"errors":{"type":"object","properties":{"count":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"last":{"$ref":"#/components/schemas/error"}},"required":["count"]}},"required":["kind","rollup","staker"]},{"title":"execute_outbox_message","type":"object","properties":{"kind":{"type":"string","enum":["execute_outbox_message"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"cemented_commitment":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"proof":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"},"errors":{"type":"object","properties":{"count":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"last":{"$ref":"#/components/schemas/error"}},"required":["count"]}},"required":["kind","rollup","cemented_commitment","proof"]},{"title":"publish_dal_commitment","type":"object","properties":{"kind":{"type":"string","enum":["publish_dal_commitment"]},"slot_index":{"type":"integer","minimum":0,"maximum":255},"commitment":{"$ref":"#/components/schemas/DAL_commitment"},"commitment_proof":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"},"errors":{"type":"object","properties":{"count":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"last":{"$ref":"#/components/schemas/error"}},"required":["count"]}},"required":["kind","slot_index","commitment","commitment_proof"]}]}}},"required":["tags","queue"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}},"delete":{"description":"Clear operation queues of injectors","parameters":[{"name":"order_below","in":"query","required":false,"schema":{"type":"string"}},{"name":"tag","in":"query","description":"A kind of operation for the injector.","required":false,"schema":{"type":"string"}},{"name":"drop_no_order","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/admin/injector/queues/total":{"get":{"description":"Get total operations queued in injectors","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"injectors":{"type":"array","items":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string","enum":["add_messages","publish","refute","recover","timeout","publish_dal_commitment","cement","execute_outbox_message"]}},"queue_size":{"type":"integer","minimum":-1073741824,"maximum":1073741823}},"required":["tags","queue_size"]}},"total":{"type":"integer","minimum":-1073741824,"maximum":1073741823}},"required":["injectors","total"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/config":{"get":{"description":"Returns the rollup node configuration","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"smart-rollup-address":{"description":"Smart rollup address","oneOf":[{"$ref":"#/components/schemas/smart_rollup_address"}]},"boot-sector":{"description":"Boot sector","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"smart-rollup-node-operator":{"description":"Operators that sign operations of the smart rollup, by purpose","type":"object","properties":{"operating":{"oneOf":[{"title":"Signature.public_key_hash operator","oneOf":[{"$ref":"#/components/schemas/Signature.Public_key_hash"}]},{"title":"multiple operator","type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}}]},"batching":{"oneOf":[{"title":"Signature.public_key_hash operator","oneOf":[{"$ref":"#/components/schemas/Signature.Public_key_hash"}]},{"title":"multiple operator","type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}}]},"cementing":{"oneOf":[{"title":"Signature.public_key_hash operator","oneOf":[{"$ref":"#/components/schemas/Signature.Public_key_hash"}]},{"title":"multiple operator","type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}}]},"recovering":{"oneOf":[{"title":"Signature.public_key_hash operator","oneOf":[{"$ref":"#/components/schemas/Signature.Public_key_hash"}]},{"title":"multiple operator","type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}}]},"executing_outbox":{"oneOf":[{"title":"Signature.public_key_hash operator","oneOf":[{"$ref":"#/components/schemas/Signature.Public_key_hash"}]},{"title":"multiple operator","type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}}]}}},"rpc-addr":{"description":"RPC address","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"rpc-port":{"description":"RPC port","type":"integer","minimum":0,"maximum":65535},"acl":{"description":"Access control list","type":"array","items":{"oneOf":[{"title":"Whitelist","type":"object","properties":{"address":{"$ref":"#/components/schemas/unistring"},"whitelist":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}}},"required":["address","whitelist"]},{"title":"Blacklist","type":"object","properties":{"address":{"$ref":"#/components/schemas/unistring"},"blacklist":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}}},"required":["address","blacklist"]}]}},"metrics-addr":{"description":"Metrics address","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"performance-metrics":{"type":"boolean"},"reconnection_delay":{"description":"The reconnection (to the tezos node) delay in seconds","type":"number"},"fee-parameters":{"description":"The fee parameters for each purpose used when injecting operations in L1","type":"object","properties":{"publish":{"type":"object","properties":{"minimal-fees":{"description":"Exclude operations with lower fees","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"minimal-nanotez-per-byte":{"description":"Exclude operations with lower fees per byte","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"minimal-nanotez-per-gas-unit":{"description":"Exclude operations with lower gas fees","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"force-low-fee":{"description":"Don't check that the fee is lower than the estimated default","type":"boolean"},"fee-cap":{"description":"The fee cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"burn-cap":{"description":"The burn cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]}}},"add_messages":{"type":"object","properties":{"minimal-fees":{"description":"Exclude operations with lower fees","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"minimal-nanotez-per-byte":{"description":"Exclude operations with lower fees per byte","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"minimal-nanotez-per-gas-unit":{"description":"Exclude operations with lower gas fees","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"force-low-fee":{"description":"Don't check that the fee is lower than the estimated default","type":"boolean"},"fee-cap":{"description":"The fee cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"burn-cap":{"description":"The burn cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]}}},"cement":{"type":"object","properties":{"minimal-fees":{"description":"Exclude operations with lower fees","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"minimal-nanotez-per-byte":{"description":"Exclude operations with lower fees per byte","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"minimal-nanotez-per-gas-unit":{"description":"Exclude operations with lower gas fees","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"force-low-fee":{"description":"Don't check that the fee is lower than the estimated default","type":"boolean"},"fee-cap":{"description":"The fee cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"burn-cap":{"description":"The burn cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]}}},"timeout":{"type":"object","properties":{"minimal-fees":{"description":"Exclude operations with lower fees","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"minimal-nanotez-per-byte":{"description":"Exclude operations with lower fees per byte","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"minimal-nanotez-per-gas-unit":{"description":"Exclude operations with lower gas fees","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"force-low-fee":{"description":"Don't check that the fee is lower than the estimated default","type":"boolean"},"fee-cap":{"description":"The fee cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"burn-cap":{"description":"The burn cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]}}},"refute":{"type":"object","properties":{"minimal-fees":{"description":"Exclude operations with lower fees","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"minimal-nanotez-per-byte":{"description":"Exclude operations with lower fees per byte","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"minimal-nanotez-per-gas-unit":{"description":"Exclude operations with lower gas fees","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"force-low-fee":{"description":"Don't check that the fee is lower than the estimated default","type":"boolean"},"fee-cap":{"description":"The fee cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"burn-cap":{"description":"The burn cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]}}},"recover":{"type":"object","properties":{"minimal-fees":{"description":"Exclude operations with lower fees","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"minimal-nanotez-per-byte":{"description":"Exclude operations with lower fees per byte","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"minimal-nanotez-per-gas-unit":{"description":"Exclude operations with lower gas fees","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"force-low-fee":{"description":"Don't check that the fee is lower than the estimated default","type":"boolean"},"fee-cap":{"description":"The fee cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"burn-cap":{"description":"The burn cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]}}},"execute_outbox_message":{"type":"object","properties":{"minimal-fees":{"description":"Exclude operations with lower fees","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"minimal-nanotez-per-byte":{"description":"Exclude operations with lower fees per byte","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"minimal-nanotez-per-gas-unit":{"description":"Exclude operations with lower gas fees","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"force-low-fee":{"description":"Don't check that the fee is lower than the estimated default","type":"boolean"},"fee-cap":{"description":"The fee cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"burn-cap":{"description":"The burn cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]}}},"publish_dal_commitment":{"type":"object","properties":{"minimal-fees":{"description":"Exclude operations with lower fees","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"minimal-nanotez-per-byte":{"description":"Exclude operations with lower fees per byte","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"minimal-nanotez-per-gas-unit":{"description":"Exclude operations with lower gas fees","oneOf":[{"$ref":"#/components/schemas/nanotez"}]},"force-low-fee":{"description":"Don't check that the fee is lower than the estimated default","type":"boolean"},"fee-cap":{"description":"The fee cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]},"burn-cap":{"description":"The burn cap","oneOf":[{"$ref":"#/components/schemas/mutez"}]}}}}},"mode":{"description":"The mode for this rollup node","oneOf":[{"$ref":"#/components/schemas/sc_rollup_node_mode"}]},"loser-mode":{"description":"If enabled, the rollup node will issue wrong commitments (for test only!)","type":"array","items":{"type":"object","properties":{"level":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"message_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"message_tick":{"$ref":"#/components/schemas/int64"}},"required":["level","message_index","message_tick"]}},"unsafe-pvm-patches":{"description":"Unsafe patches to apply to the PVM. For tests only, don't set this value in production.","type":"array","items":{"oneOf":[{"title":"increase_max_nb_tick","type":"object","properties":{"increase_max_nb_tick":{"$ref":"#/components/schemas/int64"}},"required":["increase_max_nb_tick"]},{"title":"patch_durable_storage","type":"object","properties":{"patch_durable_storage":{"type":"object","properties":{"key":{"$ref":"#/components/schemas/unistring"},"value":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"required":["key","value"]}},"required":["patch_durable_storage"]}]}},"execute-outbox-messages-filter":{"description":"A filter to select which outbox messages the rollup will execute automatically (must be in maintenance or operator mode).","type":"array","items":{"type":"object","properties":{"transaction":{"type":"object","properties":{"destination":{"oneOf":[{"title":"any_destination","description":"Accept any destination.","type":"string","enum":["any"]},{"title":"destination_among","description":"Accept destination that matches the given list (in base58-check).","type":"array","items":{"$ref":"#/components/schemas/unistring"}}]},"entrypoint":{"oneOf":[{"title":"any_entrypoint","description":"Accept any entrypoint.","type":"string","enum":["any"]},{"title":"entrypoint_among","description":"Accept entrypoint of the given list.","type":"array","items":{"$ref":"#/components/schemas/unistring"}}]}},"required":["destination","entrypoint"]}},"required":["transaction"]}},"DAL node endpoint":{"$ref":"#/components/schemas/unistring"},"pre-images-endpoint":{"$ref":"#/components/schemas/unistring"},"batcher":{"type":"object","properties":{"min_batch_elements":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"min_batch_size":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"max_batch_elements":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"max_batch_size":{"type":"integer","minimum":-1073741824,"maximum":1073741823}}},"injector":{"type":"object","properties":{"retention_period":{"type":"integer","minimum":0,"maximum":65535},"attempts":{"type":"integer","minimum":0,"maximum":65535},"injection_ttl":{"type":"integer","minimum":0,"maximum":65535}}},"l1_blocks_cache_size":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"l2_blocks_cache_size":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"prefetch_blocks":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"l1_rpc_timeout":{"type":"number"},"loop_retry_delay":{"type":"number"},"index_buffer_size":{"description":"Deprecated","type":"integer","minimum":-1073741824,"maximum":1073741823},"irmin_cache_size":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"log-kernel-debug":{"type":"boolean"},"unsafe-disable-wasm-kernel-checks":{"type":"boolean"},"no-degraded":{"type":"boolean"},"gc-parameters":{"type":"object","properties":{"frequency":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"context_splitting_period":{"type":"integer","minimum":-1073741824,"maximum":1073741823}}},"history-mode":{"type":"string","enum":["full","archive"]},"cors":{"type":"object","properties":{"allowed_headers":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}},"allowed_origins":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}}},"required":["allowed_headers","allowed_origins"]},"bail-on-disagree":{"type":"boolean"}},"required":["smart-rollup-address","smart-rollup-node-operator","rpc-addr","rpc-port","acl","performance-metrics","reconnection_delay","fee-parameters","mode","loser-mode","unsafe-pvm-patches","execute-outbox-messages-filter","batcher","injector","l1_blocks_cache_size","l2_blocks_cache_size","l1_rpc_timeout","loop_retry_delay","log-kernel-debug","unsafe-disable-wasm-kernel-checks","no-degraded","gc-parameters","cors","bail-on-disagree"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/describe":{"get":{"description":"RPCs documentation and input/output schema","parameters":[{"name":"recurse","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/service_tree"}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}":{"get":{"description":"Layer-2 block of the layer-2 chain with respect to a Layer 1 block identifier","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}},{"name":"outbox","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"block_hash":{"description":"Tezos block hash.","oneOf":[{"$ref":"#/components/schemas/block_hash"}]},"level":{"description":"Level of the block, corresponds to the level of the tezos block.","type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"description":"Predecessor hash of the Tezos block.","oneOf":[{"$ref":"#/components/schemas/block_hash"}]},"commitment_hash":{"description":"Hash of this block's commitment if any was computed for it.","nullable":true,"oneOf":[{"title":"Some","oneOf":[{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}]}]},"previous_commitment_hash":{"description":"Previous commitment hash in the chain. If there is a commitment for this block, this field contains the commitment that was previously computed.","oneOf":[{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}]},"context":{"description":"Hash of the layer 2 context for this block.","oneOf":[{"$ref":"#/components/schemas/Smart_rollup_context_hash"}]},"inbox_witness":{"description":"Witness for the inbox for this block, i.e. the Merkle hash of payloads of messages.","oneOf":[{"$ref":"#/components/schemas/smart_rollup_merkelized_payload_hashes_hash"}]},"inbox_hash":{"description":"Hash of the inbox for this block.","oneOf":[{"$ref":"#/components/schemas/smart_rollup_inbox_hash"}]},"inbox":{"description":"Inbox for this block.","type":"object","properties":{"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"old_levels_messages":{"type":"object","properties":{"index":{"$ref":"#/components/schemas/positive_bignum"},"content":{"type":"object","properties":{"hash":{"$ref":"#/components/schemas/smart_rollup_merkelized_payload_hashes_hash"},"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["hash","level"]},"back_pointers":{"type":"array","items":{"$ref":"#/components/schemas/smart_rollup_inbox_hash"}}},"required":["index","content","back_pointers"]}},"required":["level","old_levels_messages"]},"messages":{"description":"Messages added to the inbox in this block.","type":"array","items":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"commitment":{"description":"Commitment, if any is computed for this block.","type":"object","properties":{"compressed_state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"inbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"number_of_ticks":{"$ref":"#/components/schemas/int64"}},"required":["compressed_state","inbox_level","predecessor","number_of_ticks"]},"outbox":{"description":"Outbox messages produced by PVM execution of inbox","type":"array","items":{"oneOf":[{"title":"whitelist_update","type":"object","properties":{"message_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"whitelist_update":{"nullable":true,"oneOf":[{"title":"Some","type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}}]}},"required":["message_index","whitelist_update"]},{"title":"transactions","type":"object","properties":{"message_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"transactions":{"type":"array","items":{"type":"object","properties":{"destination":{"$ref":"#/components/schemas/unistring"},"entrypoint":{"$ref":"#/components/schemas/unistring"},"parameters":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters.expression"},"parameters_ty":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters_type.expression"}},"required":["destination"]}}},"required":["message_index","transactions"]}]}},"initial_tick":{"description":"Initial tick of the PVM at this block, i.e. before evaluation of the messages.","oneOf":[{"$ref":"#/components/schemas/positive_bignum"}]},"num_ticks":{"description":"Number of ticks produced by the evaluation of the messages in this block.","oneOf":[{"$ref":"#/components/schemas/int64"}]}},"required":["block_hash","level","predecessor","commitment_hash","previous_commitment_hash","context","inbox_witness","inbox_hash","inbox","messages","initial_tick","num_ticks"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/committed_status":{"get":{"description":"Commitment status of the rollup state which will include content of this block","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"oneOf":[{"title":"uncommitted","description":"L2 Block content is not yet committed on L1","type":"object","properties":{"uncommitted":{"type":"object","properties":{"commitment_level":{"description":"Level at which the following commitment will be produced.","type":"integer","minimum":-2147483648,"maximum":2147483647},"estimated_commitment_time":{"description":"Estimated time at which the commitment will be published.","oneOf":[{"$ref":"#/components/schemas/timestamp.system"}]},"estimated_cementation_time":{"description":"Estimated time at which the commitment will be cemented.","oneOf":[{"$ref":"#/components/schemas/timestamp.system"}]}},"required":["commitment_level","estimated_commitment_time","estimated_cementation_time"]}},"required":["uncommitted"]},{"title":"committed","description":"L2 Block content is already committed on L1 but not yet cemented","type":"object","properties":{"committed":{"type":"object","properties":{"commitment_hash":{"description":"Hash of following commitment.","oneOf":[{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}]},"commitment_level":{"description":"Level of following commitment.","type":"integer","minimum":-2147483648,"maximum":2147483647},"first_published_level":{"description":"Level at which commitment was first published.","type":"integer","minimum":-2147483648,"maximum":2147483647},"published_level":{"description":"Level at which commitment was published by operator (may be null if e.g. rollup node does not publish).","nullable":true,"oneOf":[{"title":"Some","type":"integer","minimum":-2147483648,"maximum":2147483647}]},"estimated_cementation_time":{"description":"Estimated time at which the commitment will be cemented.","oneOf":[{"$ref":"#/components/schemas/timestamp.system"}]}},"required":["commitment_hash","commitment_level","first_published_level","published_level","estimated_cementation_time"]}},"required":["committed"]},{"title":"cemented","description":"L2 Block content is already cemented","type":"object","properties":{"cemented":{"type":"object","properties":{"commitment_hash":{"description":"Hash of following commitment.","oneOf":[{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}]},"commitment_level":{"description":"Level of following commitment.","type":"integer","minimum":-2147483648,"maximum":2147483647},"first_published_level":{"description":"Level at which commitment was first published.","type":"integer","minimum":-2147483648,"maximum":2147483647},"published_level":{"description":"Level at which commitment was published by operator (may be null if e.g. rollup node does not publish).","nullable":true,"oneOf":[{"title":"Some","type":"integer","minimum":-2147483648,"maximum":2147483647}]},"blocks_since_cemented":{"description":"Number of blocks since commitment was cemented.","type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["commitment_hash","commitment_level","first_published_level","published_level","blocks_since_cemented"]}},"required":["cemented"]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/dal/processed_slots":{"get":{"description":"Data availability processed slots and their statuses","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"status":{"type":"string","enum":["unconfirmed","confirmed"]}},"required":["index","status"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/dal/slot_headers":{"get":{"description":"Availability slots for a given block","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"version":{"type":"string","enum":["0"]},"level":{"type":"integer","minimum":0,"maximum":2147483647},"index":{"type":"integer","minimum":0,"maximum":255},"commitment":{"$ref":"#/components/schemas/DAL_commitment"}},"required":["version","level","index","commitment"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/durable/wasm_2_0_0/length":{"get":{"description":"Retrieve number of bytes in raw representation of value by key from PVM durable storage. PVM state is taken with respect to the specified block level.","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}},{"name":"key","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"title":"Some","oneOf":[{"$ref":"#/components/schemas/int64"}]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/durable/wasm_2_0_0/subkeys":{"get":{"description":"Retrieve subkeys of the specified key from PVM durable storage. PVM state is taken with respect to the specified block level.","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}},{"name":"key","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/durable/wasm_2_0_0/value":{"get":{"description":"Retrieve value by key from PVM durable storage. PVM state is taken with respect to the specified block level. Value returned in hex format.","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}},{"name":"key","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"title":"Some","type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/durable/wasm_2_0_0/values":{"get":{"description":"Retrieve values directly under a given key from PVM durable storage. PVM state is taken with respect to the specified block level.","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}},{"name":"key","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"key":{"$ref":"#/components/schemas/unistring"},"value":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"required":["key","value"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/hash":{"get":{"description":"Tezos block hash of block known to the smart rollup node","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"title":"A block identifier (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/helpers/proofs/outbox/{level}/messages":{"get":{"description":"Generate serialized output proof for some outbox message at level and index","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}},{"name":"level","in":"path","required":true,"schema":{"type":"string"}},{"name":"index","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"commitment":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"proof":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"required":["commitment","proof"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/inbox":{"get":{"description":"Rollup inbox for block","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"old_levels_messages":{"type":"object","properties":{"index":{"$ref":"#/components/schemas/positive_bignum"},"content":{"type":"object","properties":{"hash":{"$ref":"#/components/schemas/smart_rollup_merkelized_payload_hashes_hash"},"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["hash","level"]},"back_pointers":{"type":"array","items":{"$ref":"#/components/schemas/smart_rollup_inbox_hash"}}},"required":["index","content","back_pointers"]}},"required":["level","old_levels_messages"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/level":{"get":{"description":"Level of Tezos block known to the smart rollup node","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"integer","minimum":-2147483648,"maximum":2147483647}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/num_messages":{"get":{"description":"Number of messages for specified block","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"title":"Big number","description":"Decimal representation of a big number","type":"string"}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/outbox":{"get":{"description":"Outbox at block for a given outbox level","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}},{"name":"outbox_level","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"outbox_level":{"type":"integer","minimum":0,"maximum":2147483647},"message_index":{"$ref":"#/components/schemas/positive_bignum"},"message":{"oneOf":[{"title":"Atomic_transaction_batch","type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"parameters":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"},"destination":{"$ref":"#/components/schemas/021-PsQuebec.contract_id.originated"},"entrypoint":{"$ref":"#/components/schemas/unistring"}},"required":["parameters","destination"]}},"kind":{"type":"string","enum":["untyped"]}},"required":["transactions","kind"]},{"title":"Atomic_transaction_batch_typed","type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"parameters":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"},"parameters_ty":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"},"destination":{"$ref":"#/components/schemas/021-PsQuebec.contract_id.originated"},"entrypoint":{"$ref":"#/components/schemas/unistring"}},"required":["parameters","parameters_ty","destination"]}},"kind":{"type":"string","enum":["typed"]}},"required":["transactions","kind"]},{"title":"Whitelist_update","type":"object","properties":{"whitelist":{"type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}},"kind":{"type":"string","enum":["whitelist_update"]}},"required":["kind"]}]}},"required":["outbox_level","message_index","message"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/outbox/{level}/messages":{"get":{"description":"Outbox at block for a given outbox level","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}},{"name":"level","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"outbox_level":{"type":"integer","minimum":0,"maximum":2147483647},"message_index":{"$ref":"#/components/schemas/positive_bignum"},"message":{"oneOf":[{"title":"Atomic_transaction_batch","type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"parameters":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"},"destination":{"$ref":"#/components/schemas/021-PsQuebec.contract_id.originated"},"entrypoint":{"$ref":"#/components/schemas/unistring"}},"required":["parameters","destination"]}},"kind":{"type":"string","enum":["untyped"]}},"required":["transactions","kind"]},{"title":"Atomic_transaction_batch_typed","type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"parameters":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"},"parameters_ty":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"},"destination":{"$ref":"#/components/schemas/021-PsQuebec.contract_id.originated"},"entrypoint":{"$ref":"#/components/schemas/unistring"}},"required":["parameters","parameters_ty","destination"]}},"kind":{"type":"string","enum":["typed"]}},"required":["transactions","kind"]},{"title":"Whitelist_update","type":"object","properties":{"whitelist":{"type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}},"kind":{"type":"string","enum":["whitelist_update"]}},"required":["kind"]}]}},"required":["outbox_level","message_index","message"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/simulate":{"post":{"description":"Simulate messages evaluation by the PVM","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"description":"Serialized messages for simulation.","type":"array","items":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"reveal_pages":{"description":"Pages (at most 4kB) to be used for revelation ticks","type":"array","items":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"insight_requests":{"description":"Paths in the PVM to inspect after the simulation","type":"array","items":{"oneOf":[{"title":"pvm_state","description":"Path in the PVM state","type":"object","properties":{"kind":{"type":"string","enum":["pvm_state"]},"key":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}}},"required":["kind","key"]},{"title":"durable_storage","description":"Path in the PVM durable storage","type":"object","properties":{"kind":{"type":"string","enum":["durable_storage"]},"key":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}}},"required":["kind","key"]}]}},"log_kernel_debug_file":{"description":"File in which to emit kernel logs. This file will be created in /simulation_kernel_logs/, where is the data directory of the rollup node.","oneOf":[{"$ref":"#/components/schemas/unistring"}]}},"required":["messages"]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"state_hash":{"description":"Hash of the state after execution of the PVM on the input messages","oneOf":[{"$ref":"#/components/schemas/smart_rollup_state_hash"}]},"status":{"description":"Status of the PVM after evaluation","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"output":{"description":"Output produced by evaluation of the messages","type":"array","items":{"type":"object","properties":{"outbox_level":{"type":"integer","minimum":0,"maximum":2147483647},"message_index":{"$ref":"#/components/schemas/positive_bignum"},"message":{"oneOf":[{"title":"Atomic_transaction_batch","type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"parameters":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"},"destination":{"$ref":"#/components/schemas/021-PsQuebec.contract_id.originated"},"entrypoint":{"$ref":"#/components/schemas/unistring"}},"required":["parameters","destination"]}},"kind":{"type":"string","enum":["untyped"]}},"required":["transactions","kind"]},{"title":"Atomic_transaction_batch_typed","type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"parameters":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"},"parameters_ty":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"},"destination":{"$ref":"#/components/schemas/021-PsQuebec.contract_id.originated"},"entrypoint":{"$ref":"#/components/schemas/unistring"}},"required":["parameters","parameters_ty","destination"]}},"kind":{"type":"string","enum":["typed"]}},"required":["transactions","kind"]},{"title":"Whitelist_update","type":"object","properties":{"whitelist":{"type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}},"kind":{"type":"string","enum":["whitelist_update"]}},"required":["kind"]}]}},"required":["outbox_level","message_index","message"]}},"inbox_level":{"description":"Level of the inbox that would contain these messages","type":"integer","minimum":-2147483648,"maximum":2147483647},"num_ticks":{"description":"Ticks taken by the PVM for evaluating the messages","oneOf":[{"$ref":"#/components/schemas/bignum"}]},"insights":{"description":"PVM state values requested after the simulation","type":"array","items":{"nullable":true,"oneOf":[{"title":"Some","type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}]}}},"required":["state_hash","status","output","inbox_level","num_ticks"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/state":{"get":{"description":"Retrieve value from key is PVM state of specified block","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}},{"name":"key","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/state_current_level":{"get":{"description":"Retrieve the current level of a PVM","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"title":"Some","type":"integer","minimum":0,"maximum":2147483647}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/state_hash":{"get":{"description":"State hash for this block","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"title":"The hash of the VM state of a smart rollup (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/status":{"get":{"description":"PVM status at block","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"title":"Universal string representation","description":"Either a plain UTF8 string, or a sequence of bytes for strings that contain invalid byte sequences.","oneOf":[{"type":"string"},{"type":"object","properties":{"invalid_utf8_string":{"type":"array","items":{"type":"integer","minimum":0,"maximum":255}}},"required":["invalid_utf8_string"]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/ticks":{"get":{"description":"Number of ticks for specified level","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"title":"Big number","description":"Decimal representation of a big number","type":"string"}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/block/{block_id}/total_ticks":{"get":{"description":"Total number of ticks at specified block","parameters":[{"name":"block_id","in":"path","description":"An L1 block identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"title":"Positive big number","description":"Decimal representation of a positive big number","type":"string"}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/last_stored_commitment":{"get":{"description":"Last commitment computed by the node","responses":{"200":{"description":"","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"title":"Some","type":"object","properties":{"commitment":{"type":"object","properties":{"compressed_state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"inbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"number_of_ticks":{"$ref":"#/components/schemas/int64"}},"required":["compressed_state","inbox_level","predecessor","number_of_ticks"]},"hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}},"required":["commitment","hash"]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/monitor_blocks":{"get":{"description":"Monitor and streaming the L2 blocks","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"block_hash":{"description":"Tezos block hash.","oneOf":[{"$ref":"#/components/schemas/block_hash"}]},"level":{"description":"Level of the block, corresponds to the level of the tezos block.","type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"description":"Predecessor hash of the Tezos block.","oneOf":[{"$ref":"#/components/schemas/block_hash"}]},"commitment_hash":{"description":"Hash of this block's commitment if any was computed for it.","nullable":true,"oneOf":[{"title":"Some","oneOf":[{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}]}]},"previous_commitment_hash":{"description":"Previous commitment hash in the chain. If there is a commitment for this block, this field contains the commitment that was previously computed.","oneOf":[{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}]},"context":{"description":"Hash of the layer 2 context for this block.","oneOf":[{"$ref":"#/components/schemas/Smart_rollup_context_hash"}]},"inbox_witness":{"description":"Witness for the inbox for this block, i.e. the Merkle hash of payloads of messages.","oneOf":[{"$ref":"#/components/schemas/smart_rollup_merkelized_payload_hashes_hash"}]},"inbox_hash":{"description":"Hash of the inbox for this block.","oneOf":[{"$ref":"#/components/schemas/smart_rollup_inbox_hash"}]},"initial_tick":{"description":"Initial tick of the PVM at this block, i.e. before evaluation of the messages.","oneOf":[{"$ref":"#/components/schemas/positive_bignum"}]},"num_ticks":{"description":"Number of ticks produced by the evaluation of the messages in this block.","oneOf":[{"$ref":"#/components/schemas/int64"}]}},"required":["block_hash","level","predecessor","commitment_hash","previous_commitment_hash","context","inbox_witness","inbox_hash","initial_tick","num_ticks"],"additionalProperties":{}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/smart_rollup_address":{"get":{"description":"Smart rollup address","responses":{"200":{"description":"","content":{"application/json":{"schema":{"title":"A smart rollup address (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/tezos_head":{"get":{"description":"Tezos head known to the smart rollup node","responses":{"200":{"description":"","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"title":"Some","oneOf":[{"$ref":"#/components/schemas/block_hash"}]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/global/tezos_level":{"get":{"description":"Tezos level known to the smart rollup node","responses":{"200":{"description":"","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"title":"Some","type":"integer","minimum":-2147483648,"maximum":2147483647}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/health":{"get":{"description":"Returns health status information for the rollup node","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"healthy":{"type":"boolean"},"degraded":{"type":"boolean"},"l1":{"type":"object","properties":{"connection":{"type":"string","enum":["connected","reconnecting","disconnected"]},"blocks_late":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"last_seen_head":{"type":"object","properties":{"hash":{"$ref":"#/components/schemas/block_hash"},"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"timestamp":{"$ref":"#/components/schemas/timestamp.protocol"}},"required":["hash","level","timestamp"]}},"required":["connection","blocks_late"]},"active_workers":{"type":"array","items":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/unistring"},{"oneOf":[{"title":"running","type":"string","enum":["running"]},{"title":"crashed","type":"object","properties":{"crashed":{"$ref":"#/components/schemas/exception"}},"required":["crashed"]}]}]}}}},"required":["healthy","degraded","l1","active_workers"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/batcher/injection":{"post":{"description":"Inject messages in the batcher's queue","parameters":[{"name":"order","in":"query","required":false,"schema":{"type":"string"}},{"name":"drop_duplicate","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"description":"Messages to inject","type":"array","items":{"$ref":"#/components/schemas/sc_l2_message"}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"description":"Ids of injected L2 messages","type":"array","items":{"$ref":"#/components/schemas/sc_rollup_l2_message_id"}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/batcher/queue":{"get":{"description":"List messages present in the batcher's queue","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/positive_bignum"},"id":{"$ref":"#/components/schemas/sc_rollup_l2_message_id"},"message":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/sc_l2_message"},"counter":{"$ref":"#/components/schemas/positive_bignum"}},"required":["content","counter"]}},"required":["id","message"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/batcher/queue/{l2_message_id}":{"get":{"description":"Retrieve an L2 message and its status","parameters":[{"name":"l2_message_id","in":"path","description":"A L2 message id.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"oneOf":[{"title":"unknown","description":"The message is not known by the batcher.","type":"object","properties":{"content":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"},"status":{"type":"string","enum":["unknown"]}},"required":["status"]},{"title":"pending_batch","description":"The message is in the batcher queue.","type":"object","properties":{"content":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"},"status":{"type":"string","enum":["pending_batch"]}},"required":["status"]},{"title":"pending_injection","description":"The message is batched but not injected yet.","type":"object","properties":{"content":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"},"status":{"type":"string","enum":["pending_injection"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"}},"required":["status","operation"]},{"title":"injected","description":"The message is injected as part of an L1 operation but it is not included in a block.","type":"object","properties":{"content":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"},"status":{"type":"string","enum":["injected"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"},"layer1":{"type":"object","properties":{"operation_hash":{"$ref":"#/components/schemas/Operation_hash"},"operation_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823}},"required":["operation_hash","operation_index"]}},"required":["status","operation","layer1"]},{"title":"included","description":"The message is included in an inbox in an L1 block.","type":"object","properties":{"content":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"},"status":{"type":"string","enum":["included"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"},"layer1":{"type":"object","properties":{"operation_hash":{"$ref":"#/components/schemas/Operation_hash"},"operation_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"block_hash":{"$ref":"#/components/schemas/block_hash"},"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["operation_hash","operation_index","block_hash","level"]},"finalized":{"type":"boolean"},"cemented":{"type":"boolean"}},"required":["status","operation","layer1","finalized","cemented"]},{"title":"committed","description":"The message is included in a committed inbox on L1.","type":"object","properties":{"content":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"},"status":{"type":"string","enum":["committed"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"},"layer1":{"type":"object","properties":{"operation_hash":{"$ref":"#/components/schemas/Operation_hash"},"operation_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"block_hash":{"$ref":"#/components/schemas/block_hash"},"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["operation_hash","operation_index","block_hash","level"]},"finalized":{"type":"boolean"},"cemented":{"type":"boolean"},"commitment":{"type":"object","properties":{"compressed_state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"inbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"number_of_ticks":{"$ref":"#/components/schemas/int64"}},"required":["compressed_state","inbox_level","predecessor","number_of_ticks"]},"hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"first_published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["status","operation","layer1","finalized","cemented","commitment","hash","first_published_at_level","published_at_level"]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/commitments/{commitment_hash}":{"get":{"description":"Commitment computed and published by the node","parameters":[{"name":"commitment_hash","in":"path","description":"A commitment hash.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"title":"Some","type":"object","properties":{"commitment":{"type":"object","properties":{"compressed_state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"inbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"number_of_ticks":{"$ref":"#/components/schemas/int64"}},"required":["compressed_state","inbox_level","predecessor","number_of_ticks"]},"hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"first_published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["commitment","hash"]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/dal/batcher/injection":{"post":{"description":"Inject the given messages in the DAL queue, even in case of duplicates","requestBody":{"content":{"application/json":{"schema":{"description":"Messages to inject","type":"array","items":{"$ref":"#/components/schemas/unistring"}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/dal/injected/operations/statuses":{"get":{"description":"Retrieve the statuses of all known operations injected via DAL.","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/injector_operation_hash"},"status":{"oneOf":[{"title":"unknown","description":"The message is not known by the batcher.","type":"object","properties":{"status":{"type":"string","enum":["unknown"]}},"required":["status"]},{"title":"pending_batch","description":"The message is in the batcher queue.","type":"object","properties":{"status":{"type":"string","enum":["pending_batch"]}},"required":["status"]},{"title":"pending_injection","description":"The message is batched but not injected yet.","type":"object","properties":{"status":{"type":"string","enum":["pending_injection"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"}},"required":["status","operation"]},{"title":"injected","description":"The message is injected as part of an L1 operation but it is not included in a block.","type":"object","properties":{"status":{"type":"string","enum":["injected"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"},"layer1":{"type":"object","properties":{"operation_hash":{"$ref":"#/components/schemas/Operation_hash"},"operation_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823}},"required":["operation_hash","operation_index"]}},"required":["status","operation","layer1"]},{"title":"included","description":"The message is included in an inbox in an L1 block.","type":"object","properties":{"status":{"type":"string","enum":["included"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"},"layer1":{"type":"object","properties":{"operation_hash":{"$ref":"#/components/schemas/Operation_hash"},"operation_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"block_hash":{"$ref":"#/components/schemas/block_hash"},"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["operation_hash","operation_index","block_hash","level"]},"finalized":{"type":"boolean"},"cemented":{"type":"boolean"}},"required":["status","operation","layer1","finalized","cemented"]},{"title":"committed","description":"The message is included in a committed inbox on L1.","type":"object","properties":{"status":{"type":"string","enum":["committed"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"},"layer1":{"type":"object","properties":{"operation_hash":{"$ref":"#/components/schemas/Operation_hash"},"operation_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"block_hash":{"$ref":"#/components/schemas/block_hash"},"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["operation_hash","operation_index","block_hash","level"]},"finalized":{"type":"boolean"},"cemented":{"type":"boolean"},"commitment":{"type":"object","properties":{"compressed_state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"inbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"number_of_ticks":{"$ref":"#/components/schemas/int64"}},"required":["compressed_state","inbox_level","predecessor","number_of_ticks"]},"hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"first_published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["status","operation","layer1","finalized","cemented","commitment","hash","first_published_at_level","published_at_level"]}]}},"required":["id","status"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/dal/injection/{injector_operation_hash}/forget":{"post":{"description":"Forget information about the injection whose id is given","parameters":[{"name":"injector_operation_hash","in":"path","description":"injector_operation_hash (Base58Check-encoded)","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/dal/slot/indices":{"post":{"description":"Provide the (new) list of slot indices to use to the rollup node's DAL injector","requestBody":{"content":{"application/json":{"schema":{"description":"Slot indices to set","type":"object","properties":{"indices":{"type":"array","items":{"type":"integer","minimum":0,"maximum":255}}},"required":["indices"]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/gc_info":{"get":{"description":"Information about garbage collection","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"first_available_level":{"description":"First level where data is guaranteed to be available in the rollup node.","type":"integer","minimum":-2147483648,"maximum":2147483647},"last_gc_level":{"description":"The level at which the last GC was triggered.","type":"integer","minimum":-2147483648,"maximum":2147483647},"last_context_split_level":{"description":"The level at which the context was split for the last time. Commits before this level are in other chunks.","type":"integer","minimum":-2147483648,"maximum":2147483647},"last_successful_gc_target":{"description":"The level which was the target of the last successful GC.","type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["first_available_level"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/injector/operation/{injector_operation_hash}/status":{"get":{"description":"Retrieve the status of the injected operation using its injector ID.","parameters":[{"name":"injector_operation_hash","in":"path","description":"injector_operation_hash (Base58Check-encoded)","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"oneOf":[{"title":"unknown","description":"The message is not known by the batcher.","type":"object","properties":{"status":{"type":"string","enum":["unknown"]}},"required":["status"]},{"title":"pending_batch","description":"The message is in the batcher queue.","type":"object","properties":{"status":{"type":"string","enum":["pending_batch"]}},"required":["status"]},{"title":"pending_injection","description":"The message is batched but not injected yet.","type":"object","properties":{"status":{"type":"string","enum":["pending_injection"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"}},"required":["status","operation"]},{"title":"injected","description":"The message is injected as part of an L1 operation but it is not included in a block.","type":"object","properties":{"status":{"type":"string","enum":["injected"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"},"layer1":{"type":"object","properties":{"operation_hash":{"$ref":"#/components/schemas/Operation_hash"},"operation_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823}},"required":["operation_hash","operation_index"]}},"required":["status","operation","layer1"]},{"title":"included","description":"The message is included in an inbox in an L1 block.","type":"object","properties":{"status":{"type":"string","enum":["included"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"},"layer1":{"type":"object","properties":{"operation_hash":{"$ref":"#/components/schemas/Operation_hash"},"operation_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"block_hash":{"$ref":"#/components/schemas/block_hash"},"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["operation_hash","operation_index","block_hash","level"]},"finalized":{"type":"boolean"},"cemented":{"type":"boolean"}},"required":["status","operation","layer1","finalized","cemented"]},{"title":"committed","description":"The message is included in a committed inbox on L1.","type":"object","properties":{"status":{"type":"string","enum":["committed"]},"operation":{"$ref":"#/components/schemas/sc_rollup_node_l1_operation"},"layer1":{"type":"object","properties":{"operation_hash":{"$ref":"#/components/schemas/Operation_hash"},"operation_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"block_hash":{"$ref":"#/components/schemas/block_hash"},"level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["operation_hash","operation_index","block_hash","level"]},"finalized":{"type":"boolean"},"cemented":{"type":"boolean"},"commitment":{"type":"object","properties":{"compressed_state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"inbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"number_of_ticks":{"$ref":"#/components/schemas/int64"}},"required":["compressed_state","inbox_level","predecessor","number_of_ticks"]},"hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"first_published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["status","operation","layer1","finalized","cemented","commitment","hash","first_published_at_level","published_at_level"]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/last_published_commitment":{"get":{"description":"Last commitment published by the node","responses":{"200":{"description":"","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"title":"Some","type":"object","properties":{"commitment":{"type":"object","properties":{"compressed_state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"inbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"number_of_ticks":{"$ref":"#/components/schemas/int64"}},"required":["compressed_state","inbox_level","predecessor","number_of_ticks"]},"hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"first_published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"published_at_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["commitment","hash"]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/outbox/pending/executable":{"get":{"description":"Pending outbox messages which can be executed","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"outbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"messages":{"type":"array","items":{"type":"object","properties":{"message_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"message":{"oneOf":[{"title":"whitelist_update","type":"object","properties":{"whitelist_update":{"nullable":true,"oneOf":[{"title":"Some","type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}}]}},"required":["whitelist_update"]},{"title":"transactions","type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"destination":{"$ref":"#/components/schemas/unistring"},"entrypoint":{"$ref":"#/components/schemas/unistring"},"parameters":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters.expression"},"parameters_ty":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters_type.expression"}},"required":["destination"]}}},"required":["transactions"]}]}},"required":["message_index"]}}},"required":["outbox_level","messages"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/outbox/pending/unexecutable":{"get":{"description":"Pending outbox messages which cannot yet be executed","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"outbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"messages":{"type":"array","items":{"type":"object","properties":{"message_index":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"message":{"oneOf":[{"title":"whitelist_update","type":"object","properties":{"whitelist_update":{"nullable":true,"oneOf":[{"title":"Some","type":"array","items":{"$ref":"#/components/schemas/Signature.Public_key_hash"}}]}},"required":["whitelist_update"]},{"title":"transactions","type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"destination":{"$ref":"#/components/schemas/unistring"},"entrypoint":{"$ref":"#/components/schemas/unistring"},"parameters":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters.expression"},"parameters_ty":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters_type.expression"}},"required":["destination"]}}},"required":["transactions"]}]}},"required":["message_index"]}}},"required":["outbox_level","messages"]}}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/local/synchronized":{"get":{"description":"Wait for the node to have synchronized its L2 chain with the L1 chain, streaming its progress.","responses":{"200":{"description":"","content":{"application/json":{"schema":{"oneOf":[{"title":"synchronized","type":"string","enum":["synchronized"]},{"title":"synchronizing","type":"object","properties":{"synchronizing":{"type":"object","properties":{"processed_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"l1_head_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"percentage_done":{"type":"number"}},"required":["processed_level","l1_head_level","percentage_done"]}},"required":["synchronizing"]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/openapi":{"get":{"description":"OpenAPI specification of RPCs for rollup node","parameters":[{"name":"protocol","in":"query","description":"Protocol_hash (Base58Check-encoded)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/ping":{"get":{"description":"Returns an empty response if the rollup node can answer requests","responses":{"200":{"description":"","content":{"application/json":{"schema":{}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/stats/memory":{"get":{"description":"Gets memory usage stats","responses":{"200":{"description":"","content":{"application/json":{"schema":{"oneOf":[{"title":"Linux_proc_statm","type":"object","properties":{"page_size":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"size":{"$ref":"#/components/schemas/int64"},"resident":{"$ref":"#/components/schemas/int64"},"shared":{"$ref":"#/components/schemas/int64"},"text":{"$ref":"#/components/schemas/int64"},"lib":{"$ref":"#/components/schemas/int64"},"data":{"$ref":"#/components/schemas/int64"},"dt":{"$ref":"#/components/schemas/int64"}},"required":["page_size","size","resident","shared","text","lib","data","dt"]},{"title":"Darwin_ps","type":"object","properties":{"page_size":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"mem":{"type":"number"},"resident":{"$ref":"#/components/schemas/int64"}},"required":["page_size","mem","resident"]}]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/stats/ocaml_gc":{"get":{"description":"Gets stats from the OCaml Garbage Collector","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"minor_words":{"type":"number"},"promoted_words":{"type":"number"},"major_words":{"type":"number"},"minor_collections":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"major_collections":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"forced_major_collections":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"heap_words":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"heap_chunks":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"live_words":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"live_blocks":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"free_words":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"free_blocks":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"largest_free":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"fragments":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"compactions":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"top_heap_words":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"stack_size":{"type":"integer","minimum":-1073741824,"maximum":1073741823}},"required":["minor_words","promoted_words","major_words","minor_collections","major_collections","forced_major_collections","heap_words","heap_chunks","live_words","live_blocks","free_words","free_blocks","largest_free","fragments","compactions","top_heap_words","stack_size"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}},"/version":{"get":{"description":"Returns the version information of the rollup node","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/unistring"},"store_version":{"$ref":"#/components/schemas/unistring"},"context_version":{"$ref":"#/components/schemas/unistring"}},"required":["version","store_version","context_version"]}}}},"default":{"description":"","content":{"application/json":{"schema":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"}}}}}}}},"components":{"schemas":{"021-PsQuebec.contract_id.originated":{"title":"A contract handle -- originated account","description":"A contract notation as given to an RPC or inside scripts. Can be a base58 originated contract hash.","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"021-PsQuebec.michelson.v1.primitives":{"type":"string","enum":["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"]},"DAL_commitment":{"title":"Commitment representation for the DAL (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"Operation_hash":{"title":"A Tezos operation ID (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"Signature.Public_key_hash":{"title":"A Ed25519, Secp256k1, P256, or BLS public key hash (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"Smart_rollup_context_hash":{"title":"A base58-check encoded hash of a Smart rollup node context (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"bignum":{"title":"Big number","description":"Decimal representation of a big number","type":"string"},"block_hash":{"title":"A block identifier (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"error":{"description":"An error trace. The full list of errors is available with the global RPC `GET errors`"},"exception":{"description":"Exception","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"injector_operation_hash":{"title":"An identifier (hash) for an operation in the injector (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"int64":{"title":"64 bit integers","description":"Decimal representation of 64 bit integers","type":"string"},"layout":{"oneOf":[{"title":"Zero_width","type":"object","properties":{"kind":{"type":"string","enum":["Zero_width"]}},"required":["kind"]},{"title":"Int","type":"object","properties":{"size":{"type":"string","enum":["Int32","Int16","Uint16","Int64","Int8","Uint8"]},"endianness":{"type":"string","enum":["Little","Big"]},"kind":{"type":"string","enum":["Int"]}},"required":["size","kind"]},{"title":"Bool","type":"object","properties":{"kind":{"type":"string","enum":["Bool"]}},"required":["kind"]},{"title":"RangedInt","type":"object","properties":{"min":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"endianness":{"type":"string","enum":["Little","Big"]},"max":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"kind":{"type":"string","enum":["RangedInt"]}},"required":["min","max","kind"]},{"title":"RangedFloat","type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"},"kind":{"type":"string","enum":["RangedFloat"]}},"required":["min","max","kind"]},{"title":"Float","type":"object","properties":{"kind":{"type":"string","enum":["Float"]}},"required":["kind"]},{"title":"Bytes","type":"object","properties":{"kind":{"type":"string","enum":["Bytes"]}},"required":["kind"]},{"title":"String","type":"object","properties":{"kind":{"type":"string","enum":["String"]}},"required":["kind"]},{"title":"Enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"reference":{"$ref":"#/components/schemas/unistring"},"kind":{"type":"string","enum":["Enum"]}},"required":["size","reference","kind"]},{"title":"Seq","type":"object","properties":{"layout":{"$ref":"#/components/schemas/layout"},"kind":{"type":"string","enum":["Seq"]},"length_limit":{"oneOf":[{"title":"No_limit","type":"object","properties":{"kind":{"type":"string","enum":["no-limit"]}},"required":["kind"]},{"title":"At_most","type":"object","properties":{"kind":{"type":"string","enum":["at-most"]},"at_most":{"type":"integer","minimum":-1073741824,"maximum":1073741823}},"required":["kind","at_most"]},{"title":"Exactly","type":"object","properties":{"kind":{"type":"string","enum":["exactly"]},"exactly":{"type":"integer","minimum":-1073741824,"maximum":1073741823}},"required":["kind","exactly"]}]}},"required":["layout","kind"]},{"title":"Ref","type":"object","properties":{"name":{"$ref":"#/components/schemas/unistring"},"kind":{"type":"string","enum":["Ref"]}},"required":["name","kind"]},{"title":"Padding","type":"object","properties":{"kind":{"type":"string","enum":["Padding"]}},"required":["kind"]}]},"micheline.021-PsQuebec.michelson_v1.expression":{"oneOf":[{"title":"Int","type":"object","properties":{"int":{"$ref":"#/components/schemas/bignum"}},"required":["int"]},{"title":"String","type":"object","properties":{"string":{"$ref":"#/components/schemas/unistring"}},"required":["string"]},{"title":"Bytes","type":"object","properties":{"bytes":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"required":["bytes"]},{"title":"Sequence","type":"array","items":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"}},{"title":"Prim__generic","description":"Generic primitive (any number of args with or without annotations)","type":"object","properties":{"prim":{"$ref":"#/components/schemas/021-PsQuebec.michelson.v1.primitives"},"args":{"type":"array","items":{"$ref":"#/components/schemas/micheline.021-PsQuebec.michelson_v1.expression"}},"annots":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}}},"required":["prim"]}]},"micheline.outbox_transaction_parameters.expression":{"oneOf":[{"title":"Int","type":"object","properties":{"int":{"$ref":"#/components/schemas/bignum"}},"required":["int"]},{"title":"String","type":"object","properties":{"string":{"$ref":"#/components/schemas/unistring"}},"required":["string"]},{"title":"Bytes","type":"object","properties":{"bytes":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"required":["bytes"]},{"title":"Sequence","type":"array","items":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters.expression"}},{"title":"Prim__generic","description":"Generic primitive (any number of args with or without annotations)","type":"object","properties":{"prim":{"$ref":"#/components/schemas/unistring"},"args":{"type":"array","items":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters.expression"}},"annots":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}}},"required":["prim"]}]},"micheline.outbox_transaction_parameters_type.expression":{"oneOf":[{"title":"Int","type":"object","properties":{"int":{"$ref":"#/components/schemas/bignum"}},"required":["int"]},{"title":"String","type":"object","properties":{"string":{"$ref":"#/components/schemas/unistring"}},"required":["string"]},{"title":"Bytes","type":"object","properties":{"bytes":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"required":["bytes"]},{"title":"Sequence","type":"array","items":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters_type.expression"}},{"title":"Prim__generic","description":"Generic primitive (any number of args with or without annotations)","type":"object","properties":{"prim":{"$ref":"#/components/schemas/unistring"},"args":{"type":"array","items":{"$ref":"#/components/schemas/micheline.outbox_transaction_parameters_type.expression"}},"annots":{"type":"array","items":{"$ref":"#/components/schemas/unistring"}}},"required":["prim"]}]},"mutez":{"title":"A millionth of a tez","description":"One million mutez make a tez (1 tez = 1e6 mutez)","oneOf":[{"$ref":"#/components/schemas/positive_bignum"}]},"nanotez":{"title":"A thousandth of a mutez","description":"One thousand nanotez make a mutez (1 tez = 1e9 nanotez)","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/bignum"}]}},"positive_bignum":{"title":"Positive big number","description":"Decimal representation of a positive big number","type":"string"},"sc_l2_message":{"description":"A hex encoded smart rollup message","type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"},"sc_rollup_l2_message_id":{"title":"A smart rollup layer 2 message identifier (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"sc_rollup_node_l1_operation":{"oneOf":[{"title":"add_messages","type":"object","properties":{"kind":{"type":"string","enum":["add_messages"]},"message":{"type":"array","items":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}}},"required":["kind","message"]},{"title":"cement","type":"object","properties":{"kind":{"type":"string","enum":["cement"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"commitment":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}},"required":["kind","rollup","commitment"]},{"title":"publish","type":"object","properties":{"kind":{"type":"string","enum":["publish"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"commitment":{"type":"object","properties":{"compressed_state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"inbox_level":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"predecessor":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"number_of_ticks":{"$ref":"#/components/schemas/int64"}},"required":["compressed_state","inbox_level","predecessor","number_of_ticks"]}},"required":["kind","rollup","commitment"]},{"title":"refute","type":"object","properties":{"kind":{"type":"string","enum":["refute"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"opponent":{"$ref":"#/components/schemas/Signature.Public_key_hash"},"refutation":{"oneOf":[{"title":"Start","type":"object","properties":{"refutation_kind":{"type":"string","enum":["start"]},"player_commitment_hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"opponent_commitment_hash":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"}},"required":["refutation_kind","player_commitment_hash","opponent_commitment_hash"]},{"title":"Move","type":"object","properties":{"refutation_kind":{"type":"string","enum":["move"]},"choice":{"$ref":"#/components/schemas/positive_bignum"},"step":{"oneOf":[{"title":"Dissection","type":"array","items":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/smart_rollup_state_hash"},"tick":{"$ref":"#/components/schemas/positive_bignum"}},"required":["tick"]}},{"title":"Proof","type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}]}},"required":["refutation_kind","choice","step"]}]}},"required":["kind","rollup","opponent","refutation"]},{"title":"timeout","type":"object","properties":{"kind":{"type":"string","enum":["timeout"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"stakers":{"type":"object","properties":{"alice":{"$ref":"#/components/schemas/Signature.Public_key_hash"},"bob":{"$ref":"#/components/schemas/Signature.Public_key_hash"}},"required":["alice","bob"]}},"required":["kind","rollup","stakers"]},{"title":"recover","type":"object","properties":{"kind":{"type":"string","enum":["recover"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"staker":{"$ref":"#/components/schemas/Signature.Public_key_hash"}},"required":["kind","rollup","staker"]},{"title":"execute_outbox_message","type":"object","properties":{"kind":{"type":"string","enum":["execute_outbox_message"]},"rollup":{"$ref":"#/components/schemas/smart_rollup_address"},"cemented_commitment":{"$ref":"#/components/schemas/smart_rollup_commitment_hash"},"proof":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"required":["kind","rollup","cemented_commitment","proof"]},{"title":"publish_dal_commitment","type":"object","properties":{"kind":{"type":"string","enum":["publish_dal_commitment"]},"slot_index":{"type":"integer","minimum":0,"maximum":255},"commitment":{"$ref":"#/components/schemas/DAL_commitment"},"commitment_proof":{"type":"string","pattern":"^([a-zA-Z0-9][a-zA-Z0-9])*$"}},"required":["kind","slot_index","commitment","commitment_proof"]}]},"sc_rollup_node_mode":{"oneOf":[{"title":"custom","type":"object","properties":{"custom":{"type":"array","items":{"type":"string","enum":["add_messages","publish","refute","recover","timeout","publish_dal_commitment","cement","execute_outbox_message"]}}},"required":["custom"]},{"title":"observer","type":"string","enum":["observer"]},{"title":"accuser","type":"string","enum":["accuser"]},{"title":"bailout","type":"string","enum":["bailout"]},{"title":"batcher","type":"string","enum":["batcher"]},{"title":"maintenance","type":"string","enum":["maintenance"]},{"title":"operator","type":"string","enum":["operator"]}]},"schema.field":{"oneOf":[{"title":"Named_field","type":"object","properties":{"name":{"$ref":"#/components/schemas/unistring"},"layout":{"$ref":"#/components/schemas/layout"},"data_kind":{"$ref":"#/components/schemas/schema.kind"},"kind":{"type":"string","enum":["named"]}},"required":["name","layout","data_kind","kind"]},{"title":"Anonymous_field","type":"object","properties":{"layout":{"$ref":"#/components/schemas/layout"},"kind":{"type":"string","enum":["anon"]},"data_kind":{"$ref":"#/components/schemas/schema.kind"}},"required":["layout","kind","data_kind"]},{"title":"Dynamic_field","type":"object","properties":{"kind":{"type":"string","enum":["dyn"]},"name":{"$ref":"#/components/schemas/unistring"},"num_fields":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"size":{"type":"string","enum":["N","Uint30","Uint16","Uint8"]}},"required":["kind","num_fields","size"]},{"title":"Optional_field","type":"object","properties":{"kind":{"type":"string","enum":["option_indicator"]},"name":{"$ref":"#/components/schemas/unistring"}},"required":["kind","name"]}]},"schema.kind":{"oneOf":[{"title":"Fixed","type":"object","properties":{"size":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"kind":{"type":"string","enum":["Fixed"]}},"required":["size","kind"]},{"title":"Dynamic","type":"object","properties":{"kind":{"type":"string","enum":["Dynamic"]}},"required":["kind"]},{"title":"Variable","type":"object","properties":{"kind":{"type":"string","enum":["Variable"]}},"required":["kind"]}]},"service_tree":{"oneOf":[{"title":"Static","type":"object","properties":{"static":{"type":"object","properties":{"get_service":{"type":"object","properties":{"meth":{"type":"string","enum":["PATCH","GET","POST","PUT","DELETE"]},"path":{"type":"array","items":{"oneOf":[{"title":"PStatic","oneOf":[{"$ref":"#/components/schemas/unistring"}]},{"title":"PDynamic","type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]},{"title":"PDynamicTail","type":"object","properties":{"id":{"type":"string","enum":["multiple"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}]}},"description":{"$ref":"#/components/schemas/unistring"},"query":{"type":"array","items":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"},"kind":{"oneOf":[{"title":"Single","type":"object","properties":{"single":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["single"]},{"title":"Optional","type":"object","properties":{"optional":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["optional"]},{"title":"Flag","type":"object","properties":{"flag":{"type":"object","properties":{}}},"required":["flag"]},{"title":"Multi","type":"object","properties":{"multi":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["multi"]}]}},"required":["name","kind"]}},"input":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"output":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"error":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]}},"required":["meth","path","query","output","error"]},"post_service":{"type":"object","properties":{"meth":{"type":"string","enum":["PATCH","GET","POST","PUT","DELETE"]},"path":{"type":"array","items":{"oneOf":[{"title":"PStatic","oneOf":[{"$ref":"#/components/schemas/unistring"}]},{"title":"PDynamic","type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]},{"title":"PDynamicTail","type":"object","properties":{"id":{"type":"string","enum":["multiple"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}]}},"description":{"$ref":"#/components/schemas/unistring"},"query":{"type":"array","items":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"},"kind":{"oneOf":[{"title":"Single","type":"object","properties":{"single":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["single"]},{"title":"Optional","type":"object","properties":{"optional":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["optional"]},{"title":"Flag","type":"object","properties":{"flag":{"type":"object","properties":{}}},"required":["flag"]},{"title":"Multi","type":"object","properties":{"multi":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["multi"]}]}},"required":["name","kind"]}},"input":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"output":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"error":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]}},"required":["meth","path","query","output","error"]},"delete_service":{"type":"object","properties":{"meth":{"type":"string","enum":["PATCH","GET","POST","PUT","DELETE"]},"path":{"type":"array","items":{"oneOf":[{"title":"PStatic","oneOf":[{"$ref":"#/components/schemas/unistring"}]},{"title":"PDynamic","type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]},{"title":"PDynamicTail","type":"object","properties":{"id":{"type":"string","enum":["multiple"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}]}},"description":{"$ref":"#/components/schemas/unistring"},"query":{"type":"array","items":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"},"kind":{"oneOf":[{"title":"Single","type":"object","properties":{"single":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["single"]},{"title":"Optional","type":"object","properties":{"optional":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["optional"]},{"title":"Flag","type":"object","properties":{"flag":{"type":"object","properties":{}}},"required":["flag"]},{"title":"Multi","type":"object","properties":{"multi":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["multi"]}]}},"required":["name","kind"]}},"input":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"output":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"error":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]}},"required":["meth","path","query","output","error"]},"put_service":{"type":"object","properties":{"meth":{"type":"string","enum":["PATCH","GET","POST","PUT","DELETE"]},"path":{"type":"array","items":{"oneOf":[{"title":"PStatic","oneOf":[{"$ref":"#/components/schemas/unistring"}]},{"title":"PDynamic","type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]},{"title":"PDynamicTail","type":"object","properties":{"id":{"type":"string","enum":["multiple"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}]}},"description":{"$ref":"#/components/schemas/unistring"},"query":{"type":"array","items":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"},"kind":{"oneOf":[{"title":"Single","type":"object","properties":{"single":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["single"]},{"title":"Optional","type":"object","properties":{"optional":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["optional"]},{"title":"Flag","type":"object","properties":{"flag":{"type":"object","properties":{}}},"required":["flag"]},{"title":"Multi","type":"object","properties":{"multi":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["multi"]}]}},"required":["name","kind"]}},"input":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"output":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"error":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]}},"required":["meth","path","query","output","error"]},"patch_service":{"type":"object","properties":{"meth":{"type":"string","enum":["PATCH","GET","POST","PUT","DELETE"]},"path":{"type":"array","items":{"oneOf":[{"title":"PStatic","oneOf":[{"$ref":"#/components/schemas/unistring"}]},{"title":"PDynamic","type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]},{"title":"PDynamicTail","type":"object","properties":{"id":{"type":"string","enum":["multiple"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}]}},"description":{"$ref":"#/components/schemas/unistring"},"query":{"type":"array","items":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"},"kind":{"oneOf":[{"title":"Single","type":"object","properties":{"single":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["single"]},{"title":"Optional","type":"object","properties":{"optional":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["optional"]},{"title":"Flag","type":"object","properties":{"flag":{"type":"object","properties":{}}},"required":["flag"]},{"title":"Multi","type":"object","properties":{"multi":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]}},"required":["multi"]}]}},"required":["name","kind"]}},"input":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"output":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]},"error":{"type":"object","properties":{"json_schema":{},"binary_schema":{"type":"object","properties":{"toplevel":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]},"fields":{"type":"array","items":{"type":"object","properties":{"description":{"type":"object","properties":{"title":{"$ref":"#/components/schemas/unistring"},"description":{"$ref":"#/components/schemas/unistring"}},"required":["title"]},"encoding":{"oneOf":[{"title":"Obj","type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}}},"required":["fields"]},{"title":"Cases","type":"object","properties":{"tag_size":{"type":"string","enum":["Uint16","Uint8"]},"kind":{"$ref":"#/components/schemas/schema.kind"},"cases":{"type":"array","items":{"$ref":"#/components/schemas/union case"}}},"required":["tag_size","kind","cases"]},{"title":"Int_enum","type":"object","properties":{"size":{"type":"string","enum":["Int16","Uint16","Int8","Uint8"]},"cases":{"type":"array","items":{"type":"array","items":{"oneOf":[{"type":"integer","minimum":-1073741824,"maximum":1073741823},{"$ref":"#/components/schemas/unistring"}]}}}},"required":["size","cases"]}]}},"required":["description","encoding"]}}},"required":["toplevel","fields"]}},"required":["json_schema","binary_schema"]}},"required":["meth","path","query","output","error"]},"subdirs":{"oneOf":[{"title":"Suffixes","type":"object","properties":{"suffixes":{"type":"array","items":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/unistring"},"tree":{"$ref":"#/components/schemas/service_tree"}},"required":["name","tree"]}}},"required":["suffixes"]},{"title":"Arg","type":"object","properties":{"dynamic_dispatch":{"type":"object","properties":{"arg":{"type":"object","properties":{"id":{"type":"string","enum":["single"]},"name":{"$ref":"#/components/schemas/unistring"},"descr":{"$ref":"#/components/schemas/unistring"}},"required":["id","name"]},"tree":{"$ref":"#/components/schemas/service_tree"}},"required":["arg","tree"]}},"required":["dynamic_dispatch"]}]}}}},"required":["static"]},{"title":"Dynamic","type":"object","properties":{"dynamic":{"nullable":true,"oneOf":[{"title":"Some","oneOf":[{"$ref":"#/components/schemas/unistring"}]}]}},"required":["dynamic"]},{"title":"Empty","type":"string","enum":["empty"]}]},"smart_rollup_address":{"title":"A smart rollup address (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"smart_rollup_commitment_hash":{"title":"The hash of a commitment of a smart rollup (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"smart_rollup_inbox_hash":{"title":"The hash of an inbox of a smart rollup (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"smart_rollup_merkelized_payload_hashes_hash":{"title":"The hash of the Merkelized payload hashes of a smart rollup inbox (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"smart_rollup_state_hash":{"title":"The hash of the VM state of a smart rollup (Base58Check-encoded)","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"timestamp.protocol":{"description":"A timestamp as seen by the protocol: second-level precision, epoch based.","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"timestamp.rfc":{"title":"RFC 3339 formatted timestamp","description":"A date in RFC 3339 notation.","oneOf":[{"$ref":"#/components/schemas/unistring"}]},"timestamp.system":{"description":"A timestamp as seen by the underlying, local computer: subsecond-level precision, epoch or rfc3339 based.","oneOf":[{"title":"RFC encoding","oneOf":[{"$ref":"#/components/schemas/timestamp.rfc"}]},{"title":"Second since epoch","oneOf":[{"$ref":"#/components/schemas/int64"}]}]},"union case":{"type":"object","properties":{"tag":{"type":"integer","minimum":-1073741824,"maximum":1073741823},"fields":{"type":"array","items":{"$ref":"#/components/schemas/schema.field"}},"name":{"$ref":"#/components/schemas/unistring"}},"required":["tag","fields"]},"unistring":{"title":"Universal string representation","description":"Either a plain UTF8 string, or a sequence of bytes for strings that contain invalid byte sequences.","oneOf":[{"type":"string"},{"type":"object","properties":{"invalid_utf8_string":{"type":"array","items":{"type":"integer","minimum":0,"maximum":255}}},"required":["invalid_utf8_string"]}]}}}} diff --git a/docs/rio/accounts.rst b/docs/rio/accounts.rst index 7c8ff8050d26..9abcfe32f321 100644 --- a/docs/rio/accounts.rst +++ b/docs/rio/accounts.rst @@ -17,6 +17,7 @@ addresses: Finally, addresses prefixed with ``sr1`` identify :doc:`Smart Rollups <./smart_rollups>`. +.. _user_accounts: .. _user_accounts_rio: User accounts diff --git a/docs/rio/adaptive_issuance.rst b/docs/rio/adaptive_issuance.rst index 8463021a09f7..80654a3d5385 100644 --- a/docs/rio/adaptive_issuance.rst +++ b/docs/rio/adaptive_issuance.rst @@ -3,6 +3,7 @@ :math:`\newcommand\exp[1]{\F{exp}{#1}}` +.. _adaptive_issuance: .. _adaptive_issuance_rio: ================= @@ -43,6 +44,7 @@ emission rates increase, incentivizing participants to stake funds to re-approach the target. Conversely, incentives decrease as the ratio increases beyond the target. +.. _adaptive_issuance_rate: .. _adaptive_issuance_rate_rio: Adaptive issuance rate @@ -55,6 +57,7 @@ and a :ref:`dynamic rate `. This value is kept within a minimal and a maximal value, to ensure nominal emissions remain within reasonable bounds. +.. _staked_ratio: .. _staked_ratio_rio: Staked ratio @@ -77,6 +80,7 @@ Where: - ``total_supply(cycle)`` returns the total supply of tez at the end of the given ``cycle``. - ``total_frozen_stake(cycle)`` returns the total frozen stake at the given ``cycle``. +.. _static_rate: .. _static_rate_rio: Static rate @@ -95,6 +99,7 @@ The static rate is defined as follows: The choice of a scaling factor ensures that the curve takes reasonable values for plausible staked ratios. Moreover, since Adaptive Issuance is activated with a dynamic rate of 0, and at current staked ratio (that is, ~7.5% of the total supply), this factor allows for a smooth transition from the issuance rate (~4.6%) from the Oxford protocol (before the activation of Adaptive Issuance). +.. _dynamic_rate: .. _dynamic_rate_rio: Dynamic rate @@ -126,6 +131,7 @@ Where: In a nutshell, ``dynamic_rate(c)`` increases and decreases by an amount proportional to the distance between the target rate and the interval ``[48%; 52%]``. Note that to ensure that the issuance rate is kept within :ref:`the minimum and maximum bounds `, the dynamic rate might be adjusted accordingly. More precisely, if :ref:`the issuance rate ` would surpass the maximum issuance allowed for a given cycle, then ``dynamic_rate(c)`` would be reduced to keep the issuance rate within the bounds (this part of the formula has been omitted from the above pseudocode for brevity). +.. _minimum_and_maximum_rates: .. _minimum_and_maximum_rates_rio: Minimum and maximum rates @@ -209,6 +215,7 @@ Where: below this bound for the initial period. - ``issuance_global_max`` (10%) is the final value for the upper bound, reached at the end of the transition period. +.. _adaptive_maximum: .. _adaptive_maximum_rio: Adaptive Maximum @@ -285,6 +292,7 @@ The function that defines the adaptive maximum is: while fully satisfying the minimum rate. +.. _issuance_rate: .. _issuance_rate_rio: Issuance rate @@ -309,6 +317,7 @@ maximum `, computed for the cycle ``c + 1``. return max( min(total_rate, maximum_rate), minimum_rate ) +.. _adaptive_rewards: .. _adaptive_rewards_rio: Adaptive rewards @@ -322,6 +331,7 @@ each block of the cycle and distributed between the various rewards, in proportion to their relative :ref:`weights `. +.. _rewards_weights: .. _rewards_weights_rio: Reward weights diff --git a/docs/rio/adaptive_slashing.rst b/docs/rio/adaptive_slashing.rst index cf4b78a10f28..428cfdd63edb 100644 --- a/docs/rio/adaptive_slashing.rst +++ b/docs/rio/adaptive_slashing.rst @@ -26,11 +26,13 @@ This document presents the definition of the :ref:`adaptive slashing function` implementing this idea, as well as the :ref:`new forbidden period`. +.. _adaptive_slashing_fn: .. _adaptive_slashing_fn_rio: Adaptive Slashing Function ========================== +.. _adaptive_slashing_informal: .. _adaptive_slashing_informal_rio: Informal presentation @@ -85,6 +87,7 @@ takes more than 2 cycles to complete the unstaking process. This ensures that the baker can't decrease their at-stake funds after being denunciated and before facing penalties. +.. _formal_adaptive_slashing: .. _formal_adaptive_slashing_rio: A formal definition of slashing function for double-attestations @@ -124,6 +127,7 @@ where :math:`(b, B) \in C` means that: * :math:`C` is the last cycle of the denunciation period for :math:`B`. +.. _new_forbidden_period: .. _new_forbidden_period_rio: New definition for the forbidden period diff --git a/docs/rio/baking_power.rst b/docs/rio/baking_power.rst index 331d7ffdae25..a405efd114d4 100644 --- a/docs/rio/baking_power.rst +++ b/docs/rio/baking_power.rst @@ -19,6 +19,7 @@ each delegate's :ref:`voting power` instead, which is computed in a similar but simpler way. +.. _RPC_path_shortcut: .. _RPC_path_shortcut_rio: .. note:: @@ -33,6 +34,7 @@ is computed in a similar but simpler way. :ref:`changelog` for more information. +.. _baking_power_overview: .. _baking_power_overview_rio: Overview @@ -92,6 +94,7 @@ An **external delegator** (resp. **external staker**) is a delegator (resp. staker) that is not the delegate itself. +.. _total_staked: .. _total_staked_rio: Staked tez @@ -173,6 +176,7 @@ an account, called the **full balance**. full_balance = staked + delegated +.. _total_delegated: .. _total_delegated_rio: Delegated tez to a baker @@ -225,6 +229,7 @@ For a given delegate, we define the following: total_delegated = own_delegated + external_delegated +.. _min_delegated: .. _min_delegated_rio: Min-delegated-in-current-cycle @@ -391,6 +396,7 @@ here we use tez for simplicity. (min: ``900``, level: ``200``). +.. _overstaking: .. _overstaking_rio: Overstaking @@ -475,6 +481,7 @@ We finally have everything we need to compute the baking power baking_power = total_staked_after_limits + (total_delegated_after_limits / 3) +.. _minimal_baking_power: .. _minimal_baking_power_rio: Minimal power and own staked requirements diff --git a/docs/rio/blocks_ops.rst b/docs/rio/blocks_ops.rst index 86c67ff60501..f647b6c91189 100644 --- a/docs/rio/blocks_ops.rst +++ b/docs/rio/blocks_ops.rst @@ -7,6 +7,7 @@ The content of a Tezos block is made up of a block header and a payload consisti This page first describes the protocol-specific part of the block header, and then explains what operations are. For the protocol-independent part of the block header, see :ref:`shell_header`. +.. _proto_block_header: .. _proto_block_header_rio: Protocol-specific block header @@ -41,6 +42,7 @@ or available only on test networks, is given in the :package-api:`OCaml Documentation `. +.. _validation_passes: .. _validation_passes_rio: Validation Passes @@ -62,6 +64,7 @@ Each kind of operation belongs to exactly one validation pass, except for the :r In the sequel, we describe the different classes of operations, and the different kinds of operations belonging to each class. +.. _consensus_operations: .. _consensus_operations_rio: Consensus Operations @@ -82,6 +85,7 @@ phases required to agree on the next block. for which a preattestation quorum certificate (PQC) has been observed. +.. _voting_operations: .. _voting_operations_rio: Voting Operations @@ -103,6 +107,7 @@ voting operations: Further details on each operation's implementation and semantics are provided in the dedicated entry for :doc:`on-chain governance`. +.. _anonymous_operations: .. _anonymous_operations_rio: Anonymous Operations @@ -166,6 +171,7 @@ account. This operation is used as a deterrent to ensure that a delegate secures its consensus key as much as its manager (or main) key. +.. _manager_operations: .. _manager_operations_rio: Manager Operations @@ -255,6 +261,7 @@ handled with dedicated manager operations. determine if it is called by a smart rollup using the ``SENDER`` Michelson instruction. +.. _manager_operations_batches: .. _manager_operations_batches_rio: Manager Operation Batches @@ -273,6 +280,7 @@ Batches satisfy the following properties: interleaving other operations. Either all the operations in the batch succeed, or none is applied. +.. _failing_noop: .. _failing_noop_rio: Failing_noop operation diff --git a/docs/rio/cli-commands.rst b/docs/rio/cli-commands.rst index 55a48c46f8b2..43d04a680b40 100644 --- a/docs/rio/cli-commands.rst +++ b/docs/rio/cli-commands.rst @@ -14,6 +14,7 @@ The rest of this page documents the protocol-dependent tools. The protocol-independent tools are documented :doc:`here <../shell/cli-commands>`. +.. _client_manual: .. _client_manual_rio: Client manual @@ -23,6 +24,7 @@ Client manual :file: octez-client.html +.. _baker_manual: .. _baker_manual_rio: Baker manual @@ -32,6 +34,7 @@ Baker manual :file: octez-baker.html +.. _accuser_manual: .. _accuser_manual_rio: Accuser manual diff --git a/docs/rio/consensus.rst b/docs/rio/consensus.rst index 1a2f2096d761..f664bc6dfb19 100644 --- a/docs/rio/consensus.rst +++ b/docs/rio/consensus.rst @@ -50,6 +50,7 @@ length in the `technical report `_ and in a post `_. Here we only provide a user/developer perspective. +.. _tb_validator: .. _tb_validator_rio: Tenderbake is executed for each new block level by a "committee" whose members @@ -79,12 +80,14 @@ Round durations thus increase linearly with ``DELAY_INCREMENT_PER_ROUND``. Schematically, a round consists in the following steps: +.. _candidate_block: .. _candidate_block_rio: * a validator designated for that round injects a *candidate block* (representing a proposal) and consensus operations (representing votes) into the node to which it is attached, which then * diffuses those blocks and consensus operations to other nodes of the network, and thus * communicates them to the validators attached to those nodes, to carry out voting on which block to accept. +.. _quorum: .. _quorum_rio: Unlike Emmy*, Tenderbake has `two types of @@ -105,6 +108,7 @@ the same *payload* as the initial block. We talk about a *re-proposal* in this case. +.. _finality: .. _finality_rio: Transaction and block finality @@ -122,6 +126,7 @@ Consequently, to agree on a block, that is, on both the payload and the header, confirmation, and thus guarantees **block finality after 2 confirmations**. +.. _time_between_blocks: .. _time_between_blocks_rio: Time between blocks @@ -140,6 +145,7 @@ should be taken at round 0, meaning that the time between blocks would be :math:`round\_duration(0)` seconds i.e., parameter ``MINIMAL_BLOCK_DELAY``. +.. _active_stake: .. _active_stake_rio: Validator selection @@ -277,6 +283,7 @@ included during that cycle has been ``651,456`` slots. Given that this number is bigger than the minimum required (``756,000 * 2 / 3``), it receives an attesting reward of ``756,000 * 0.000761 = 575.316`` tez for that cycle. +.. _slashing: .. _slashing_rio: Slashing @@ -321,6 +328,7 @@ correct validators have more than two thirds of the total stake, these correct validators have sufficient power for agreement to be reached, thus the lack of participation of a selfish baker does not have an impact. +.. _fitness_section: .. _fitness_section_rio: Fitness @@ -362,6 +370,7 @@ inner sequences). So the first fitness is smaller than the second one, because of the third component, the empty bitstring being smaller than any other bitstring. +.. _cs_constants: .. _cs_constants_rio: Consensus related protocol parameters diff --git a/docs/rio/dal_support.rst b/docs/rio/dal_support.rst index ba5f234207e0..3e380e0c9aaf 100644 --- a/docs/rio/dal_support.rst +++ b/docs/rio/dal_support.rst @@ -57,6 +57,7 @@ In the block’s metadata, there is a specific field for the DAL. This field ref Therefore, for data committed (published) at level ``n``, the slot's availability is determined by the metadata of the block at level ``n + ATTESTATION_LAG``. Consequently, a smart rollup can only utilize this data from level ``n + ATTESTATION_LAG + 1`` onward. +.. _DAL_incentives_scheme: .. _DAL_incentives_scheme_rio: DAL incentives scheme @@ -110,6 +111,7 @@ Penalties A baker that is correctly accused, through an accusation operation included in a block, loses their DAL rewards for the cycle containing the block. +.. _dal_rollups_integration: .. _dal_rollups_integration_rio: Smart Rollups integration @@ -125,6 +127,7 @@ If the kernel requests a page that does not satisfy the mentioned conditions, th Moreover, the rollup kernel has access to the protocol constants so that the same kernel code can be used on different test networks. +.. _dal_constants: .. _dal_constants_rio: DAL-related protocol constants diff --git a/docs/rio/glossary.rst b/docs/rio/glossary.rst index 010257a2653b..9e40b8262b2e 100644 --- a/docs/rio/glossary.rst +++ b/docs/rio/glossary.rst @@ -18,6 +18,7 @@ _`Block` The header itself decomposes into a :ref:`shell header` (common to all Tezos economic protocols), and a protocol-specific header. The shell header contains protocol-agnostic data such as the predecessor's block hash and the block's timestamp. +.. _def_context: .. _def_context_rio: _`Context` @@ -44,6 +45,7 @@ _`Fitness` (a.k.a. score, weight) _`Height` See level_. +.. _def_level: .. _def_level_rio: _`Level` (a.k.a. block height) @@ -53,6 +55,7 @@ _`Level` (a.k.a. block height) _`Mempool` A pool (set) of operation_\ s maintained by a node_ and not yet included in a block_. +.. _def_metadata: .. _def_metadata_rio: _`Metadata` @@ -99,6 +102,7 @@ _`Weight` Protocol terms -------------- +.. _def_accuser: .. _def_accuser_rio: _`Accuser` @@ -111,6 +115,7 @@ _`Accuser` When using :ref:`Octez `, accusation operations are emitted by the accuser daemon. Note that this daemon is not associated to a delegate: accusation operations are anonymous, and any delegate can include them in a block. +.. _def_account: .. _def_account_rio: _`Account` @@ -171,6 +176,7 @@ _`Burn` _`Constant` Protocols are parameterized by several parameters called protocol constants, which may vary from one protocol to another or from one network to another. +.. _def_cycle: .. _def_cycle_rio: _`Cycle` @@ -185,6 +191,7 @@ _`Cycle` constant_, and thus might change across different Tezos protocols. +.. _def_delegate: .. _def_delegate_rio: _`Delegate` @@ -201,6 +208,7 @@ _`Delegation` its `baking rights`_ and `attesting rights`_; it also increases its `voting power`_. However, the delegate_ does not control the funds of the delegating account_, e.g., it can not spend them. +.. _def_double_signing: .. _def_double_signing_rio: _`Double signing` @@ -220,6 +228,7 @@ _`Failing Noop` :ref:`sign arbitrary messages` which have no computational semantics. +.. _def_fee: .. _def_fee_rio: _`Fee` @@ -232,6 +241,7 @@ _`Fee` See also `burn`_. +.. _def_gas: .. _def_gas_rio: _`Gas` @@ -259,6 +269,7 @@ _`Layer 2` _`Michelson` The built-in language used by a `smart contract`_. +.. _def_minimal_stake: .. _def_minimal_stake_rio: _`Minimal stake` @@ -274,6 +285,7 @@ _`Operation kinds` _`Originated account` See `smart contract`_. +.. _def_origination: .. _def_origination_rio: _`Origination` @@ -332,6 +344,7 @@ _`Rollup outbox` cemented (hence, at least two weeks after the actual execution of the operation). +.. _def_round: .. _def_round_rio: _`Round` @@ -368,6 +381,7 @@ _`Transaction` An operation_ to transfer tez between two accounts, or to run the code of a `smart contract`_. +.. _def_user_account: .. _def_user_account_rio: _`User account` diff --git a/docs/rio/liquidity_baking.rst b/docs/rio/liquidity_baking.rst index fe02b4a7ed29..1a4f22164cd1 100644 --- a/docs/rio/liquidity_baking.rst +++ b/docs/rio/liquidity_baking.rst @@ -34,6 +34,7 @@ One can easily compute the value of the per block subsidy by taking into account So the credits to the CPMM contract can be accounted for by indexers, they are included in block metadata as a balance update with a new constructor for ``update_origin``, ``Subsidy``. +.. _toggle: .. _toggle_rio: Toggle vote diff --git a/docs/rio/michelson.rst b/docs/rio/michelson.rst index 85039684c4de..884e8cdb2d3a 100644 --- a/docs/rio/michelson.rst +++ b/docs/rio/michelson.rst @@ -29,6 +29,7 @@ the specification. The document also starts with a less formal explanation of the context: how Michelson code interacts with the blockchain. +.. _transaction_semantics: .. _transaction_semantics_rio: Semantics of smart contracts and transactions @@ -324,6 +325,7 @@ The concrete language also has some syntax sugar to group some common sequences of operations as one. This is described in this specification using a simple regular expression style recursive instruction rewriting. +.. _michelson_type_system: .. _michelson_type_system_rio: Introduction to the type system and notations @@ -454,6 +456,7 @@ the program on an abstract stack representing the input type provided by the programmer, and checking that the resulting symbolic stack is consistent with the expected result, also provided by the programmer. +.. _type_normalization: .. _type_normalization_rio: Type normalization @@ -761,6 +764,7 @@ A typing rule can be inferred: Concrete syntax --------------- +.. _ConcreteSyntax: .. _ConcreteSyntax_rio: The concrete language is very close to the formal notation of the @@ -829,6 +833,7 @@ parameters require sequences in the concrete syntax. IF { instr1_true ; instr2_true ; ... } { instr1_false ; instr2_false ; ... } +.. _syntax_of_scripts: .. _syntax_of_scripts_rio: Main program structure @@ -840,6 +845,7 @@ of three primitive applications (in no particular order) that provide its See the next section for a concrete example. +.. _annotations: .. _annotations_rio: Annotations @@ -1320,6 +1326,7 @@ type (which can be changed). For instance the annotated typing rule for Special annotations ~~~~~~~~~~~~~~~~~~~ +.. _SpecialAnnotations: .. _SpecialAnnotations_rio: The special variable annotations ``@%`` and ``@%%`` can be used on instructions @@ -2020,6 +2027,7 @@ The language is implemented in OCaml as follows: ``Prim ("If", ...)`` into an ``If``, a ``Prim ("Dup", ...)`` into a ``Dup``, etc. +.. _michelson_tzt: .. _michelson_tzt_rio: TZT, a Syntax extension for writing unit tests @@ -2220,6 +2228,7 @@ instruction return a chosen timestamp: code NOW; output { Stack_elt timestamp "2020-01-08T07:13:51Z" } +.. _syntax_of_concrete_stacks: .. _syntax_of_concrete_stacks_rio: Syntax of concrete stacks @@ -2232,6 +2241,7 @@ Stack_elt nat 42 }`` is a concrete stack of length 2 whose top element is the boolean ``True`` and the bottom element is the natural number ``42``. +.. _omitting_parts_of_the_output: .. _omitting_parts_of_the_output_rio: Omitting parts of the output @@ -2302,6 +2312,7 @@ cryptographic nonces in values of type ``operation`` (see the parts of error outputs (see the :ref:`syntax of errors `). +.. _output_normalization: .. _output_normalization_rio: Output normalization @@ -2348,6 +2359,7 @@ but the following test does pass: code {}; output {Stack_elt _ "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN"} +.. _syntax_of_errors: .. _syntax_of_errors_rio: Syntax of errors @@ -2412,6 +2424,7 @@ instruction. code { DUP "foo" }; output (StaticError _) +.. _syntax_of_concrete_operations: .. _syntax_of_concrete_operations_rio: Syntax of concrete operations @@ -2456,6 +2469,7 @@ to set the delegate of the current contract to the account at address code SET_DELEGATE ; output { Stack_elt operation (Set_delegate (Some "tz1NwQ6hkenkn6aYYio8VnJvjtb4K1pfeU1Z") _) } +.. _syntax_of_other_contracts: .. _syntax_of_other_contracts_rio: Syntax of other contracts specifications @@ -2475,6 +2489,7 @@ Micheline sequence whose elements have the form ``Contract "KT1..." ```` is the type of its parameter. Each address should appear at most once and the order is irrelevant. +.. _syntax_of_extra_big_maps: .. _syntax_of_extra_big_maps_rio: Syntax of extra big maps specifications diff --git a/docs/rio/plugins.rst b/docs/rio/plugins.rst index 51cd0112bd1b..87404e6e89bf 100644 --- a/docs/rio/plugins.rst +++ b/docs/rio/plugins.rst @@ -35,6 +35,7 @@ In turn protocol plugins may, for example: - implement some common operations that are customized for each protocol (e.g., :ref:`prevalidator_filters_rio`). +.. _prevalidator_filters: .. _prevalidator_filters_rio: Prevalidator filters @@ -55,6 +56,7 @@ The interface of the prevalidator plugin is described at the following filtering strategies are implemented in the :package-api:`pre_filter`. +.. _fees_filter: .. _fees_filter_rio: Fees filter @@ -69,6 +71,7 @@ can be configured via the ``minimal_fees``, :ref:`filter RPCs`) parameters of the filter configuration of your node. +.. _consensus_filter: .. _consensus_filter_rio: Consensus filter @@ -99,6 +102,7 @@ enable fine-grained operations ordering. This extra information is similar to the one used by the baker's operations selection mechanism, that decides which operations will be included in the next block. +.. _active_filter_rpc: .. _active_filter_rpc_rio: Filters RPCs diff --git a/docs/rio/proof_of_stake.rst b/docs/rio/proof_of_stake.rst index 4215b27d0d4f..1bc2fe892c3d 100644 --- a/docs/rio/proof_of_stake.rst +++ b/docs/rio/proof_of_stake.rst @@ -65,6 +65,7 @@ mentioned above, staked tez are weighted higher than non-staked tez when computing the baking power. +.. _consensus_key: .. _consensus_key_rio: Consensus key @@ -95,20 +96,15 @@ takes precedence for determining which key to activate at the start of cycle ``n + CONSENSUS_KEY_ACTIVATION_DELAY + 1``. Note that both the manager key and the consensus key give total -control over the delegate's spendable balance: indeed, the consensus -key may sign a ``Drain_delegate`` operation to transfer the delegate's -spendable balance to an arbitrary account. In :doc:`relevant -RPCs<../api/openapi>` like -``/chains/main/blocks/head/helpers/baking_rights``, both the -delegate's manager and consensus keys are listed. - -See :ref:`this page` for further important details, -notably client commands that are helpful for handling consensus keys. +control over the delegate's spendable balance. +See :ref:`this page` for further important details, +including client commands that are helpful for handling consensus keys. Active and passive delegates ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. _active_delegate: .. _active_delegate_rio: A delegate can be marked as either active or passive. A passive @@ -135,6 +131,7 @@ Tezos being proof-of-stake, the delegates' rights are selected at random based on their :doc:`baking power`. Let us detail the selection mechanism used in Tezos. +.. _random_seed: .. _random_seed_rio: Random seed @@ -146,7 +143,9 @@ values in the protocol, in particular for selecting delegates to participate in For more information on randomness generation, see :doc:`randomness-generation`. +.. _rights: .. _rights_rio: +.. _slots: .. _slots_rio: Slot selection @@ -178,6 +177,7 @@ simple procedure which has as its initial state: the level, the level belongs, and the slot. +.. _ps_constants: .. _ps_constants_rio: Proof-of-stake parameters diff --git a/docs/rio/protocol_overview.rst b/docs/rio/protocol_overview.rst index 8bd4e0e97c4a..1be2aeaa46a4 100644 --- a/docs/rio/protocol_overview.rst +++ b/docs/rio/protocol_overview.rst @@ -33,6 +33,7 @@ detail into the validation and application process for :ref:`blocks` and their :ref:`operations`. +.. _shell_proto_interact: .. _shell_proto_interact_rio: Shell-protocol interaction @@ -75,6 +76,7 @@ interface for quite different use cases, as follows: block, typically used in the :doc:`validator <../shell/validation>` to precheck a block, avoiding to further consider invalid blocks. +.. _block_contents: .. _block_contents_rio: Blocks, Operations and their Validation @@ -101,6 +103,7 @@ safely included in the Tezos blockchain -- and *application* -- that is, how the effects of operations and blocks are taken into account -- for this economic protocol. +.. _protocol_constants: .. _protocol_constants_rio: Protocol constants diff --git a/docs/rio/randomness_generation.rst b/docs/rio/randomness_generation.rst index fc119429983d..d87113bf92ed 100644 --- a/docs/rio/randomness_generation.rst +++ b/docs/rio/randomness_generation.rst @@ -46,6 +46,7 @@ if a malicious participant can make sure she is the last revealer, then she can choose whether to reveal its committed value, effectively choosing between two different predetermined seeds. +.. _vdf: .. _vdf_rio: Verifiable Delay Function @@ -77,6 +78,7 @@ cheaper and based on a weaker security assumption (low order assumption). Protocol -------- +.. _randomness_generation: .. _randomness_generation_rio: Randomness generation overview @@ -140,6 +142,7 @@ A *VDF revelation* is an operation. A reward ``SEED_NONCE_REVELATION_TIP``, `, is given for the first correct VDF revelation, subsequent VDF revelation operations being discarded. +.. _rg_constants: .. _rg_constants_rio: Randomness generation parameters diff --git a/docs/rio/rpc.rst b/docs/rio/rpc.rst index 299bd2e43855..f54b521a8c48 100644 --- a/docs/rio/rpc.rst +++ b/docs/rio/rpc.rst @@ -78,6 +78,7 @@ +.. _rpc_index: .. _rpc_index_rio : Rio RPCs - Reference diff --git a/docs/rio/smart_rollups.rst b/docs/rio/smart_rollups.rst index 9a2c3b8ae2f6..4addbfd8e5de 100644 --- a/docs/rio/smart_rollups.rst +++ b/docs/rio/smart_rollups.rst @@ -143,6 +143,7 @@ the Layer 1 pushes one final internal message “End of level”. Similarly to “Start of level“, this internal message does not come with any payload. +.. _reveal_data_channel_smart_rollups: .. _reveal_data_channel_smart_rollups_rio: Reveal data channel @@ -207,6 +208,7 @@ implements the exact same semantics as the PVM. The PVM is only ever used by the rollup node when it needs to produce a proof during the last step of the refutation mechanism. +.. _commitments: .. _commitments_rio: Commitments @@ -278,6 +280,7 @@ contain a white-list update. This message can only be executed for a rollup that is private since its origination (see :ref:`private_rollups_rio`). +.. _bonds: .. _bonds_rio: Bonds @@ -346,6 +349,7 @@ published a concurrent commitment. However, assuming the existence of an honest participant *H*, then *H* will start the refutation game with all concurrent committers to avoid the rollup getting stuck. +.. _private_rollups: .. _private_rollups_rio: Private rollups diff --git a/docs/rio/staking.rst b/docs/rio/staking.rst index 9da77f7178b6..51f21328f405 100644 --- a/docs/rio/staking.rst +++ b/docs/rio/staking.rst @@ -61,6 +61,7 @@ unfrozen by stakers. This is a two step process which spans for at least ``UNSTAKE_FINALIZATION_DELAY`` cycles (cf. :ref:`Staked funds management `). +.. _pseudo_operations: .. _pseudo_operations_rio: A user interface is provided for delegates and stakers to interact @@ -76,6 +77,7 @@ custodians, exchanges, and other parties to support the functionality. stakers. In other words, smart contracts cannot stake funds (they can of course still delegate them). +.. _staking_policy_configuration: .. _staking_policy_configuration_rio: Staking policy configuration @@ -120,6 +122,7 @@ stake) nor its consequence on voting and baking powers. That is, overdelegated funds are not counted towards a delegate baking power, but they do increase their voting power. +.. _staked_funds_management: .. _staked_funds_management_rio: Staked funds management diff --git a/docs/rio/validation.rst b/docs/rio/validation.rst index 9892d4fabc8c..acb6fe90d33e 100644 --- a/docs/rio/validation.rst +++ b/docs/rio/validation.rst @@ -79,6 +79,7 @@ the different validation modes implemented by this Tezos economic protocol, and then we delve deeper into the particulars of validation and application for blocks and the operations supported. +.. _validation_modes: .. _validation_modes_rio: Validation modes @@ -93,6 +94,7 @@ specified by the protocol environment offers an entry point so that protocol-agnostic components, the Tezos shell for instance, are able to use these different modes. +.. _full_application: .. _full_application_rio: Full Application @@ -108,6 +110,7 @@ signature is correct, and **all** operations included in the block are valid; the correct amount of consensus operations have been included in order to satisfy the consensus' threshold, etc. +.. _full_construction: .. _full_construction_rio: Full Construction @@ -126,6 +129,7 @@ construction is finalized. In Octez, this mode is mainly used by the baker daemon. +.. _partial_construction: .. _partial_construction_rio: Partial Construction @@ -142,6 +146,7 @@ potential validity of operations (and whether they can safely included into a block), so that the latter can **classify** incoming operations, and further decide how to process them accordingly. +.. _protocol_classification: .. _protocol_classification_rio: The protocol provides the shell with the following classification of @@ -176,6 +181,7 @@ protocol environment: case of an attestation which was received *too late*, but that could still be used to form a consensus quorum. +.. _partial_application: .. _partial_application_rio: Partial Application @@ -205,6 +211,7 @@ application`` mode provides an over-approximation of the branch's validity, and as a result intermediate results are not committed on disk in order to prevent potential attacks. +.. _block_validation_overview: .. _block_validation_overview_rio: Block Validation @@ -252,6 +259,7 @@ course, as this is an over-approximation, this feature cannot be considered to provide a safe guarantee that a block will be valid: in particular, it does not validate all kinds of operations. +.. _operation_validity: .. _operation_validity_rio: Operation Validation and Application @@ -279,6 +287,7 @@ application process for each of the different validation passes. Expand validity and application for other validation classes. +.. _manager_operations_validity: .. _manager_operations_validity_rio: Validity of operations @@ -365,6 +374,7 @@ defined as the conjunction of the following conditions: solvent to pay the announced fees for all the operations in the batch. +.. _co-valid_operations: .. _co-valid_operations_rio: Co-valid operations @@ -393,6 +403,7 @@ operations is co-valid. In this case, the operations could be included in the next block in any order, modulo block limits (eg. maximum gas, block size limit, etc). +.. _manager_operations_application: .. _manager_operations_application_rio: Application of Manager Operations diff --git a/docs/rio/voting.rst b/docs/rio/voting.rst index a97e5af6e2a5..827c5f38a873 100644 --- a/docs/rio/voting.rst +++ b/docs/rio/voting.rst @@ -110,6 +110,7 @@ might be introduced, a different selection mechanism may be used, the quorum requirement might differ, etc. +.. _voting_power: .. _voting_power_rio: Voting Power -- GitLab From 8435629bc44ce987488fb8b53c21f063be14b47f Mon Sep 17 00:00:00 2001 From: Nic Volanschi Date: Tue, 15 Apr 2025 20:37:14 +0200 Subject: [PATCH 3/5] doc: adapt pages outside Rio --- docs/Makefile | 11 ++++------- docs/_redirects.s3 | 1 + docs/active | 2 +- docs/alpha/proof_of_stake.rst | 12 +++--------- docs/api/openapi.rst | 21 --------------------- docs/conf.py | 2 +- docs/index.rst | 4 +--- docs/protocols/021_quebec.rst | 6 +++--- docs/protocols/history.rst | 5 +++++ docs/releases/version-21.rst | 2 +- docs/shell/smart_rollup_node.rst | 2 +- docs/user/key-management.rst | 13 ++++++++----- 12 files changed, 29 insertions(+), 52 deletions(-) diff --git a/docs/Makefile b/docs/Makefile index 39230aec9c83..51add6c1f708 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -16,16 +16,14 @@ P2PDOCEXE = $(TOPBUILDDIR)/default/docs/$(DOCGENDIR)/p2p_doc.exe RPCDOCEXE = $(TOPBUILDDIR)/default/docs/$(DOCGENDIR)/rpc_doc.exe ERRDOCEXE = $(TOPBUILDDIR)/default/docs/$(DOCERRORDIR)/error_doc.exe -NAMED_PROTOS = quebec rio +NAMED_PROTOS = rio PROTOCOLS = $(NAMED_PROTOS) alpha # The following variables names are lowercase, so their names can be computed # from the names of the corresponding protocol directories -quebec_long = PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg rio_long = PsRiotumaAMotcRoDWW1bysEhQy2n1M5fy8JgRp8jjRfHGmfeA7 alpha_long = ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK -quebec_short = PsQuebec rio_short = PsRiotum alpha_short = alpha @@ -141,8 +139,7 @@ redirectcheck: # - on each other protocol including alpha, also checking label defs (option -l) .PHONY: xrefscheck xrefscheck: - $(CHECKXREFS) quebec - $(CHECKXREFS) -l rio + $(CHECKXREFS) rio $(CHECKXREFS) -l alpha .PHONY: installcheck @@ -225,7 +222,7 @@ docexes-gen: api/errors.rst shell/p2p_api.rst rpc sphinx: install-dependencies (echo ':orphan:'; echo ''; cat ../CHANGES.rst) > CHANGES-dev.rst $(SPHINXBUILD) --builder html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) - @ln -s active "$(BUILDDIR)/quebec" || true + @ln -s active "$(BUILDDIR)/rio" || true # Syntax check RST files. # Run Sphinx, but first create dummy version of all generated files, @@ -315,5 +312,5 @@ clean: @-rm -Rf "$(BUILDDIR)" "$(BUILDDIRTXT)" linkcheck odoc.log @-rm -f $(ERRDOCEXE) $(RPCDOCEXE) $(P2PDOCEXE) @-rm -Rf api/errors.rst developer/metrics.csv user/node-config.json alpha/rpc.rst shell/rpc.rst shell/p2p_api.rst user/default-acl.json CHANGES-dev.rst developer/rollup_metrics.csv octezdoc.txt - @-rm -Rf api/octez-*.html api/octez-*.txt alpha/octez-*.html rio/octez-*.html quebec/octez-*.html + @-rm -Rf api/octez-*.html api/octez-*.txt alpha/octez-*.html rio/octez-*.html @-rm -Rf ../openapi-tmp diff --git a/docs/_redirects.s3 b/docs/_redirects.s3 index f0f3dcba47ba..9a9f03906797 100644 --- a/docs/_redirects.s3 +++ b/docs/_redirects.s3 @@ -22,6 +22,7 @@ /nairobi/* /active/:splat 301 /oxford/* /active/:splat 301 /paris/* /active/:splat 301 +/quebec/* /active/:splat 301 /api/cli-commands.html /shell/cli-commands.html 301 /api/rpc.html /shell/rpc.html 301 /developer/protocol_environment.html /shell/protocol_environment.html 301 diff --git a/docs/active b/docs/active index c65eb11f43b1..7b09b1f90778 120000 --- a/docs/active +++ b/docs/active @@ -1 +1 @@ -quebec \ No newline at end of file +rio \ No newline at end of file diff --git a/docs/alpha/proof_of_stake.rst b/docs/alpha/proof_of_stake.rst index 9d9d590de557..a21c9c8700fb 100644 --- a/docs/alpha/proof_of_stake.rst +++ b/docs/alpha/proof_of_stake.rst @@ -95,15 +95,9 @@ takes precedence for determining which key to activate at the start of cycle ``n + CONSENSUS_KEY_ACTIVATION_DELAY + 1``. Note that both the manager key and the consensus key give total -control over the delegate's spendable balance: indeed, the consensus -key may sign a ``Drain_delegate`` operation to transfer the delegate's -spendable balance to an arbitrary account. In :doc:`relevant -RPCs<../api/openapi>` like -``/chains/main/blocks/head/helpers/baking_rights``, both the -delegate's manager and consensus keys are listed. - -See :ref:`this page` for further important details, -notably client commands that are helpful for handling consensus keys. +control over the delegate's spendable balance. +See :ref:`this page` for further important details, +including client commands that are helpful for handling consensus keys. Active and passive delegates diff --git a/docs/api/openapi.rst b/docs/api/openapi.rst index bfeb05ff8cd4..8541946f01eb 100644 --- a/docs/api/openapi.rst +++ b/docs/api/openapi.rst @@ -57,19 +57,6 @@ Their OpenAPI specification can be found at: .. TODO tezos/tezos#2170: add/remove section(s) -Quebec RPCs ------------ - -The OpenAPI specifications for RPCs which are specific to the Quebec (``PtQuebec``) -protocol can be found at: - -- :src:`docs/api/quebec-openapi.json` (version 22.0) - -The OpenAPI specifications for RPCs which are related to the mempool -and specific to the Quebec protocol can be found at: - -- :src:`docs/api/quebec-mempool-openapi.json` (version 22.0) - Rio RPCs -------- @@ -106,14 +93,6 @@ seen in the field ``.info.version`` within each file.) .. TODO tezos/tezos#2170: add/remove section(s) -Quebec RPCs ------------ - -The OpenAPI specifications for the RPCs of the smart rollup node for the Quebec -(``PtQuebec``) protocol can be found at: - -- :src:`docs/api/quebec-smart-rollup-node-openapi.json` (version 22.0) - Rio RPCs -------- diff --git a/docs/conf.py b/docs/conf.py index 9ac18294c70c..00076aa14c82 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -122,7 +122,7 @@ exclude_patterns = [ 'Thumbs.db', '.DS_Store', 'doc_gen', - 'quebec', + 'rio', ] # TODO tezos/tezos#2170: exclude the active protocol 'NNN' above diff --git a/docs/index.rst b/docs/index.rst index 681357b788a8..c1ea65b6e2ff 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -194,8 +194,7 @@ You may also access this whole documentation as a single `text file - Rio Protocol Reference + Rio Protocol Reference Alpha Dev Protocol Reference .. toctree:: @@ -222,7 +221,6 @@ You may also access this whole documentation as a single `text file `__. The code can be found in directory :src:`src/proto_021_PsQuebec` of the ``master`` @@ -46,12 +46,12 @@ No changes. Adaptive Issuance ----------------- -- Added the :ref:`Adaptive Maximum` system, +- Added the :ref:`Adaptive Maximum` system, that imposes a new bound on the issuance as a function of the staked ratio. (MRs :gl:`!13519`, :gl:`!14635`) - Changed the semantics of the - :ref:`min-delegated-in-current-cycle` used to + :ref:`min-delegated-in-current-cycle` used to compute baking rights. It now only considers the minimum in between blocks. (MR :gl:`!13945`) diff --git a/docs/protocols/history.rst b/docs/protocols/history.rst index 939cc17e4a0d..bc93ae7e8a2d 100644 --- a/docs/protocols/history.rst +++ b/docs/protocols/history.rst @@ -3,6 +3,11 @@ Older Protocols The following pages describe the former Tezos protocols (i.e., which have been used in the past) in reverse chronological order. +.. toctree:: + :maxdepth: 1 + + 021_quebec + .. toctree:: :maxdepth: 1 diff --git a/docs/releases/version-21.rst b/docs/releases/version-21.rst index 5bcfded43135..812e5c132dc6 100644 --- a/docs/releases/version-21.rst +++ b/docs/releases/version-21.rst @@ -49,7 +49,7 @@ the new safety net. Not applying round 1 -- 2 block proposals by default while creating them will allow for faster propagation and earlier consensus -agreement. See :ref:`here ` +agreement. See :ref:`here ` for further details on how bakers can fine-tune this parameter. .. _dal_node_v21_changes: diff --git a/docs/shell/smart_rollup_node.rst b/docs/shell/smart_rollup_node.rst index 92064c88fa2e..57d6f0180994 100644 --- a/docs/shell/smart_rollup_node.rst +++ b/docs/shell/smart_rollup_node.rst @@ -298,7 +298,7 @@ batching:${OPERATOR_ADDR2}``. Where the rollup node will use ``${OPERATOR_ADDR1}`` for everything else. The L1 chain has a limitation of one manager operation per key per -block (see :doc:`../active/precheck`). In the case of a high +block (see :ref:`one_manager_op_per_manager_per_block`). In the case of a high throughput rollup, this limitation could slow down the rollup by capping the number of L2 messages that the rollup node's batcher purpose can inject per block to the maximum size of one L1 operation's diff --git a/docs/user/key-management.rst b/docs/user/key-management.rst index 215d641a672e..82633c65501e 100644 --- a/docs/user/key-management.rst +++ b/docs/user/key-management.rst @@ -256,7 +256,7 @@ However, this setup **does not guarantee confidentiality**: an eavesdropper can see the transactions that you sign (on a public blockchain this may be less of a concern). In order to avoid that, you can use the ``https`` scheme or a tunnel to encrypt your traffic. -.. _consensus_key: +.. _consensus_key_details: Consensus Key ------------- @@ -275,9 +275,12 @@ for example, a cloud platform providing hosted Key Management Systems (KMS) wher generated within the system and can never be downloaded by the operator. The delegate can designate such a KMS key as its consensus key. Shall they lose access to the cloud platform for any reason, they can simply switch to a new key. -However, both the delegate key and the consensus key give total control over the delegate's funds: indeed, the consensus key may sign a -Drain operation to transfer the delegate's free balance to an arbitrary account. - +However, both the delegate key and the consensus key give total control over the delegate's funds: indeed, the consensus +key may sign a ``Drain_delegate`` operation to transfer the delegate's +spendable balance to an arbitrary account. In :doc:`relevant +RPCs<../api/openapi>` like +``/chains/main/blocks/head/helpers/baking_rights``, both the +delegate's manager and consensus keys are listed. As a consequence, the consensus key should be treated with equal care as the manager key. Registering a Consensus Key @@ -313,7 +316,7 @@ In your baker's command, replace the delegate's manager key alias with the conse octez-baker-Ptxxxxxx run with local node ~/.tezos-node --liquidity-baking-toggle-vote pass -While transitioning from the delegate's manager key, it is possible to pass the alias for both delegate's manager key and consensus key. +While :ref:`transitioning from the delegate's manager key `, it is possible to pass the alias for both delegate's manager key and consensus key. The delegate will seamlessly keep baking when the transition happens:: octez-baker-Ptxxxxxx run with local node ~/.tezos-node --liquidity-baking-toggle-vote pass -- GitLab From 6dc611fd270fb20426fb7926574e0161deaef334 Mon Sep 17 00:00:00 2001 From: Nic Volanschi Date: Thu, 17 Apr 2025 10:22:53 +0200 Subject: [PATCH 4/5] doc: adapt to cycle=1day --- docs/alpha/consensus.rst | 2 +- docs/introduction/howtorun.rst | 6 +++--- docs/rio/consensus.rst | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/alpha/consensus.rst b/docs/alpha/consensus.rst index 22abf08986b2..9207dc6f2ab1 100644 --- a/docs/alpha/consensus.rst +++ b/docs/alpha/consensus.rst @@ -155,7 +155,7 @@ formula`. The baking rights are determined :ref:`CONSENSUS_RIGHTS_DELAY` in advance, which is -``2`` :ref:`cycles` for the Quebec protocol. More +currently ``2`` :ref:`cycles`. More precisely, at the end of cycle ``n`` and beginning of cycle ``n+1``, the baking rights for cycle ``n+1+CONSENSUS_RIGHTS_DELAY=n+3`` are :doc:`randomly generated` based on the current diff --git a/docs/introduction/howtorun.rst b/docs/introduction/howtorun.rst index 9e7c704c3150..9a2521da1181 100644 --- a/docs/introduction/howtorun.rst +++ b/docs/introduction/howtorun.rst @@ -165,7 +165,7 @@ To run a delegate, you first need to register as one using your user account:: octez-client register key bob as delegate - + You also need to stake some tez, as explained above, so as to have at least ``MINIMAL_STAKE = 6000`` :ref:`baking power `, taking into account your own and all your delegators' staked balances, as well as their delegated balances with a lesser weight. Most commonly, you would stake (at least) the needed amount from your own tez, without waiting for delegators:: @@ -189,13 +189,13 @@ baking rights at higher rounds, like 2 in the example above. Inactive delegates ~~~~~~~~~~~~~~~~~~ -If a delegate doesn't show any sign of activity for ``consensus_rights_delay`` +If a delegate doesn't show any sign of activity for :ref:`TOLERATED_INACTIVITY_PERIOD ` cycles, it is marked **inactive** and its rights are removed. This mechanism is important to remove inactive delegates and reallocate their rights to the active ones so that the network is always working smoothly. Normally even a baker with the minimal stake should perform enough -operations during 5 cycles to remain active. +operations during this period to remain active. If for some reason your delegate is marked inactive you can reactivate it simply by re-registering again like above. diff --git a/docs/rio/consensus.rst b/docs/rio/consensus.rst index f664bc6dfb19..2ec12d117559 100644 --- a/docs/rio/consensus.rst +++ b/docs/rio/consensus.rst @@ -161,7 +161,7 @@ formula`. The baking rights are determined :ref:`CONSENSUS_RIGHTS_DELAY` in advance, which is -``2`` :ref:`cycles` for the Quebec protocol. More +currently ``2`` :ref:`cycles`. More precisely, at the end of cycle ``n`` and beginning of cycle ``n+1``, the baking rights for cycle ``n+1+CONSENSUS_RIGHTS_DELAY=n+3`` are :doc:`randomly generated` based on the current -- GitLab From 1c20208d4b55f9c4f162611261310d3cfb4ec21c Mon Sep 17 00:00:00 2001 From: Nic Volanschi Date: Mon, 28 Apr 2025 16:48:16 +0200 Subject: [PATCH 5/5] doc: backport new template of protocol pages from Alpha to Rio --- docs/protocols/021_quebec.rst | 2 +- docs/protocols/022_rio.rst | 8 +++++--- docs/protocols/alpha.rst | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/protocols/021_quebec.rst b/docs/protocols/021_quebec.rst index 337ed3fcbc0f..7592ab847246 100644 --- a/docs/protocols/021_quebec.rst +++ b/docs/protocols/021_quebec.rst @@ -9,7 +9,7 @@ For a higher-level overview of the most salient new features see the `Quebec announcement `__. The code can be found in directory :src:`src/proto_021_PsQuebec` of the ``master`` -branch of Octez and the full documentation in :doc:`this page <../active/index>`. +branch of Octez. Environment Version ------------------- diff --git a/docs/protocols/022_rio.rst b/docs/protocols/022_rio.rst index 8fa675c1490a..714886a6c0a4 100644 --- a/docs/protocols/022_rio.rst +++ b/docs/protocols/022_rio.rst @@ -1,13 +1,15 @@ Protocol Rio ============== -This page documents the changes brought by protocol Rio with respect +This page lists the changes brought by protocol Rio with respect to Quebec (see :ref:`naming_convention`). +For the list of changes brought by Quebec with respect to Paris, see :doc:`../protocols/021_quebec`. -For changes brought by Quebec with respect to Paris, see :doc:`../protocols/021_quebec`. +For a higher-level overview of the most salient new features see the +`announcement blog `__. The code can be found in directory :src:`src/proto_022_PsRiotum` of the ``master`` -branch of Octez. +branch of Octez and the full documentation in :doc:`this page <../active/index>`. Environment Version ------------------- diff --git a/docs/protocols/alpha.rst b/docs/protocols/alpha.rst index 4a81bd540da9..884e5a3b1d33 100644 --- a/docs/protocols/alpha.rst +++ b/docs/protocols/alpha.rst @@ -9,7 +9,7 @@ For a higher-level overview of the most salient new features see the `announcement blog `__. The code can be found in directory :src:`src/proto_alpha` of the ``master`` -branch of Octez and the full documentation in :doc:`this page <../alpha/index>`.. +branch of Octez and the full documentation in :doc:`this page <../alpha/index>`. Environment Version ------------------- -- GitLab